Binary numbers and arithmetic
Addition (decimal)
Addition (binary)
Addition (binary)
Multiplication (decimal)
Multiplication (binary)
Multiplication (binary) It’s interesting to note that binary multiplication is a sequence of shifts and adds of the first term (depending on the bits in the second term. The first term is missing here because the corresponding bit in the second terms is 0.
Representing numbers (ints) Fixed, finite number of bits. bits bytes C/C++ Intel Sun 8 1 char [s]byte byte 16 2 short [s]word half 32 4 int or long [s]dword word 64 8 long long [s]qword xword
Representing numbers (ints) Fixed, finite number of bits. bits Intel signed unsigned 8 [s]byte -27..+27-1 0..+28-1 16 [s]word -215..+215-1 0..+216-1 32 [s]dword -231..+231-1 0..+232-1 64 [s]qword -263..+263-1 0..+264-1 In general, for k bits, the unsigned range is [0..+2k-1] and the signed range is [-2k-1..+2k-1-1].
Methods for representing signed ints. signed magnitude 1’s complement (diminished radix complement) 2’s complement (radix complement) excess bD-1
Signed magnitude Ex. 4-bit signed magnitude 1 bit for sign 3 bits for magnitude
Signed magnitude Ex. 4-bit signed magnitude 1 bit for sign 3 bits for magnitude
1’s complement (diminished radix complement) Let x be a non-negative number. Then –x is represented by bD-1+(-x) where b = base D = (total) # of bits (including the sign bit) Ex. Let b=2 and D=4. Then -1 is represented by 24-1-1 = 1410 or 11102.
1’s complement (diminished radix complement) Let x be a non-negative number. Then –x is represented by bD-1+(-x) where b = base & D = (total) # of bits (including the sign bit) Ex. What is the 9’s complement of 1238910? Given b=10 and D=5. Then the 9’s complement of 12389 = 105 – 1 – 12389 = 100000 – 1 – 12389 = 99999 – 12389 = 87610
1’s complement (diminished radix complement) Let x be a non-negative number. Then –x is represented by bD-1+(-x) where b = base D = (total) # of bits (including the sign bit) Shortcut for base 2? Ex. Let b=2 and D=4. Then -1 is represented by 24-1-1 = 1410 or 11102.
2’s complement (radix complement) Let x be a non-negative number. Then –x is represented by bD+(-x). Ex. Let b=2 and D=4. Then -1 is represented by 24-1 = 15 or 11112. Ex. Let b=2 and D=4. Then -5 is represented by 24 – 5 = 11 or 10112. Ex. Let b=10 and D=5. Then the 10’s complement of 12389 = 105 – 12389 = 100000 – 12389 = 87611.
2’s complement (radix complement) Let x be a non-negative number. Then –x is represented by bD+(-x). Ex. Let b=2 and D=4. Then -1 is represented by 24-1 = 15 or 11112. Ex. Let b=2 and D=4. Then -5 is represented by 24 – 5 = 11 or 10112. Shortcut for base 2?
excess bD-1 For pos, neg, and 0, x is represented by bD-1 + x. Ex. Let b=2 and D=4. Then the excess 8 (24-1) representation for 0 is 8+0 = 8 or 10002. Ex. Let b=2 and D=4. Then excess 8 for -1 is 8 – 1 = 7 or 01112.
excess bD-1 For pos, neg, and 0, x is represented by bD-1 + x. Ex. Let b=2 and D=4. Then the excess 8 (24-1) representation for 0 is 8+0 = 8 or 10002. Ex. Let b=2 and D=4. Then excess 8 for -1 is 8 – 1 = 7 or 01112.
Summary of methods for representing signed ints.
Representing numbers (ints) Fixed, finite number of bits. bits Intel signed 8 sbyte -27..+27-1 16 sword -215..+215-1 32 sdword -231..+231-1 64 sqword -263..+263-1 In general, for k bits, the signed range is [-2k-1..+2k-1-1]. So where does the extra negative value come from?
Representing numbers (ints) Fixed, finite number of bits. bits Intel signed 8 sbyte -27..+27-1 16 sword -215..+215-1 32 sdword -231..+231-1 64 sqword -263..+263-1 In general, for k bits, the signed range is [-2k-1..+2k-1-1]. So where does the extra negative value come from?