Integer Division (unsigned) With Remainder
The following algorithm, the binary version of the famous long division, will divide N by D, placing the quotient in Q and the remainder in R. All values are treated as unsigned integers.]]
if D == 0 then throw DivisionByZeroException end
Q := 0 initialize quotient and remainder to zero
R := 0
for i = n-1...0 do " where n is number of bits " R := R << 1 left-shift R by 1 bit R(0) := N(i) set the least-significant bit of R equal to bit i of the numerator if R >= D then R = R - D Q(i) := 1 end
end
Read more about this topic: Division Algorithm
Famous quotes containing the words division and/or remainder:
“In this world, which is so plainly the antechamber of another, there are no happy men. The true division of humanity is between those who live in light and those who live in darkness. Our aim must be to diminish the number of the latter and increase the number of the former. That is why we demand education and knowledge.”
—Victor Hugo (18021885)
“Do not undervalue the headache. While it is at its sharpest it seems a bad investment; but when relief begins, the unexpired remainder is worth $4 a minute.”
—Mark Twain [Samuel Langhorne Clemens] (18351910)