Big Integers and Rational Arithmetic

  • Ronald T. Kneusel


Big integers differ from standard integers in that they are of arbitrary size; the number of digits used is limited only by the memory available. In this chapter we look at how big integers are represented in memory and how to perform arithmetic with them. We also discuss some implementations which might be of use when using programming languages that do not support big integers natively. Next we examine rational arithmetic with big integers. Finally, we conclude with some advice on when it might be advantageous to use big integers and rational numbers.


Partial Product Rational Class Current Digit Primitive Root Modulo Basic Arithmetic Operation 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    Crandall R., Pomerance C., Prime Numbers: a Computational Perspective, Springer (2005).Google Scholar
  2. 2.
    Comba P., Exponentiation Cryptosystems on the IBM PC. IBM Systems Journal 29, 4:526–536 (1990).CrossRefGoogle Scholar
  3. 3.
    Karatsuba, A., Ofman, Y., Multiplication of Many-Digital Numbers by Automatic Computers, Proceedings of the USSR Academy of Sciences 145: 293–294 (1962). Translation in the academic journal Physics-Doklady, 7, pp. 595–596 (1963).Google Scholar
  4. 4.
    Schönhage, D., Strassen, V., Schnelle multiplikation grosser zahlen, Computing, 7(3–4), 281–292 (1971).CrossRefzbMATHGoogle Scholar
  5. 5.
    Saracino D., Abstract Algerbra: A First Course, Addison-Wesley (1980).Google Scholar
  6. 6.
    Bracewell, R., The Fourier transform and its applications, New York: McGraw-Hill (1986).Google Scholar
  7. 7.
    Knuth, D., The Art of Computer Programming, Volume 2: Seminumerical Algorithms, Addison-Wesley Professional (2014).Google Scholar
  8. 8.
    Burnikel, C., Ziegler, J., Im Stadtwald, D., Fast recursive division (1998).Google Scholar
  9. 9.
    Granlund, T., gmp – GNU multiprecision library, Version 6.0.0 (2014).Google Scholar
  10. 10.
    Barrett, P., Implementing the Rivest Shamir and Adleman Public Key Encryption Algorithm on a Standard Digital Signal Processor, Advances in Cryptology – CRYPTO’ 86. Lecture Notes in Computer Science 263. pp. 311–323 (2006).Google Scholar
  11. 11.
    Jebelean T., An algorithm for exact division, Journal of Symbolic Computation, volume 15, 169–180 (1993).Google Scholar
  12. 12.
    Sussman, G. Steele, Jr, G., The First Report on Scheme Revisited, Higher-Order and Symbolic Computation 11 (4): 399–404 (1998).Google Scholar
  13. 13.
    Abelson, H., Sussman, G., Structure and interpretation of computer programs, 2nd Ed, MIT Press (1996).Google Scholar
  14. 14.
    Kelsey, R., Clinger, W., Rees, J. (eds.), Revised5 Report on the Algorithmic Language Scheme, Higher-Order and Symbolic Computation, Vol. 11, No. 1, (1998).Google Scholar
  15. 15.
    Heath T., The Thirteen Books of Euclid’s Elements, 2nd ed. (Facsimile. Original publication: Cambridge University Press, 1925), Dover Publications (1956).Google Scholar
  16. 16.
    Diffie, W., Hellman, M., New directions in cryptography, Information Theory, IEEE Transactions on, 22(6), 644–654 (1976).zbMATHMathSciNetGoogle Scholar
  17. 17.
    Rivest, R., Shamir, A., Adleman, L., A method for obtaining digital signatures and public-key cryptosystems, Communications of the ACM, 21(2), 120–126 (1978).CrossRefzbMATHMathSciNetGoogle Scholar
  18. 18.
  19. 19.
  20. 20.
    The PARI Group, PARI/GP version 2.7.0, Bordeaux, 2014,
  21. 21.
    Adler C., Kneusel R., Younger, B., Chaos, Number Theory, and Computers, Journal of Computational Physics, 166, 165–172 (2001).CrossRefzbMATHMathSciNetGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  • Ronald T. Kneusel
    • 1
  1. 1.BroomfieldUSA

Personalised recommendations