When representing integers using a fixed number of bits, negative numbers are typically represented using two’s complement. If using n bit numbers, the two’s complement of a number x with 0 ≤ x < 2n is (-x) mod 2n = 2n – x. But what do you do if you want to work with unbounded/multiple-precision [...]
Posts tagged multiple-precision
Implementing Multiple-Precision Arithmetic, Part 2
Introduction This article is a follow-up to part 1 where multiple-precision addition, subtraction, and multiplication for non-negative integers was discussed. This article deals with division. Again, the theoretic foundation is based on Section 4.3.1, The Classical Algorithms, of The Art of Computer Programming, Volume 2, by Donald E. Knuth.
Implementing Multiple-Precision Arithmetic, Part 1
This article is the first in a series dealing with algorithms for multiple-precision arithmetic. The goal is to present both a theoretical foundation with high-level algorithm descriptions (based on Section 4.3.1, The Classical Algorithms, of The Art of Computer Programming, Volume 2, by Donald E. Knuth) and a portable C++ implementation of the algorithms. The theory and high-level algorithms will be quite universal and generic, whereas the presented code will be just one way to implement the algorithms in a specific programming language.
