Number Systems Computer Science 210 Computer Organization
People Decimal Numbers (base 10) Sign-Magnitude (-324) Decimal Fractions (23.27) Letters for text
Computers Binary Numbers (base 2) Sign-magnitude Binary fractions and floating point ASCII codes for characters (A 65)
Why binary? Information is stored in computer via voltage levels. Using decimal would require 10 distinct and reliable levels for each digit. This is not feasible with reasonable reliability and financial constraints. Everything in computer is stored using bits: numbers, text, programs, pictures, sounds, videos,...
Decimal: Non-negatives Base 10 Uses decimal digits: 0, 1,..., 9 Positional System - position gives power Example: 3845 = 3x x x x10 0 Positions: …543210
Binary: Non-negatives Base 2 Uses binary digits (bits): 0,1 Positional system Example: 1101 = 1x x x x2 0
Conversions ExternalInternal (For people) (For computer) A People want to see and enter numbers in decimal. Computers must store and compute with bits.
Binary to Decimal Conversion Algorithm: –Expand binary number using positional scheme. –Perform computation using decimal arithmetic. Example: 1x x x x x2 0 = = = 25 10
Decimal to Binary - Algorithm 1 Algorithm: While N 0 do Set N to N/2 (whole part) Record the remainder (1 or 0) Set A to remainders in reverse order
Decimal to binary - Example Example: Convert to binary N Rem N Rem =
Decimal to Binary - Algorithm 2 Algorithm: Set A to 0 (all bits 0) While N 0 do Find largest P with 2 P N Set bit in position P of A to 1 Set N to N - 2 P
Decimal to binary - Example Example: Convert to binary N Power P A =
Binary Addition One bit numbers: | | 1 10 Example (53) (45) (98)
Overflow In a given type of computer, the size of integers is a fixed number of bits. 16 or 32 bits are popular choices It is possible that addition of two n bit numbers yields a result requiring n+1 bits. Overflow is the term for an operation whose results exceeds the size allowed for a number.
Negatives: Sign-Magnitude With a fixed number of bits, say N –The leftmost bit is used to give the sign 0 for positive number 1 for negative number –The other N-1 bits are for the magnitude Example: -25 with 8 bit numbers – Sign: 1 since negative – Magnitude: for 25 – 8-bit result: Note: This would be 153 as a positive.
Ranges for N-bit numbers Unsigned (positive) – 0000…00 or 0 – 1111…11 which is 2 N -1 – For N=8, Sign-magnitude – 1111…11which is -(2 N-1 -1) – 0111…11which is 2 N-1 -1 – For N=8, -127 to ’ s Complement – 1000…00 which is -2 N-1 – 0111…11which is 2 N – For N=8, -128 to 127
Octal Numbers Base 8 Digits 0,1,2,3,4,5,6,7 Not so many digits as binary Easy to convert to and from binary Often used by people who need to see the internal representation of data, programs, etc.
Octal Conversions Octal to Binary – Simply convert each octal digit to a three bit binary number. – Example: = Binary to Octal – Starting at right, group into 3 bit groups – Convert each group to an octal digit – Example = =
Hexadecimal Base 16 Digits 0,…,9,A,B,C,D,E,F Hexadecimal Binary – Just like Octal, only use 4 bits per digit. Example: 98C3 16 = Example = = 34EB
Sign-Magnitude: Pros and Cons Pro: –Easy to comprehend –Easy to convert Con: –Addition complicated (expensive) If signs same then … else if positive part larger … –Two representations of 0
Negatives: Two ’ s complement With N bit numbers, to compute negative –Invert all the bits –Add 1 Example: -25 in 8-bit two ’ s complement – 25 – Invert bits: – Add 1:
2 ’ s Complement: Pros and Cons Con: –Not so easy to comprehend –Human must convert negative to identify Pro: –Addition is exactly same as for positives No additional hardware for negatives, and subtraction. –One representation of 0
2 ’ s Complement: Examples Compute negative of -25 (8-bits) – We found -25 to be – Invert bits: – Add 1: – Recognize this as 25 in binary Add -25 and 37 (8-bits) – (-25) ( 37) (1) – Recognize as 12
Facts about 2 ’ s Complement Leftmost bit still tells whether number is positive or negative as with sign-magnitude 2 ’ s complement is same as sign magnitude for positives
2 ’ s complement to decimal (examples) Assume 8-bit 2 ’ s complement: – X = X = = = = 39 (decimal) So, X = -39 – X = Since X is positive, we have X = = 89