COMS 161 Introduction to Computing Title: Digital Numbers Date: February 2, 2005 Lecture Number: 10
Announcements Homework 3 Due 2/04/05 Paper 1 proposal
Review Numbers Items verses bits Numeric ranges Binary to Decimal Conversion Decimal to Binary Conversion Repeated division
Outline Numbers Decimal to Binary Conversion Adding binary numbers Subtraction Method Adding binary numbers Signed numbers Hexadecimal Binary Coded Decimal (BCD)
Decimal to Binary Conversion Algorithm: Subtraction Method Start with a positional number that is greater than the decimal number If (the positional number is less than the decimal number) Subtract the positional number from the decimal number Write down a 1 Else Write down a 0 Continue until the remainder is 0
Decimal to Binary Conversion Positional value Subtraction Remainder Binary 27 = 12810 10510 - 0 10510 02 26 = 6410 10510 - 6410 4110 012 25 = 3210 4110 - 3210 910 0112 24 = 1610 910 - 010 01102 23 = 810 910 - 810 110 011012 22 = 410 110 - 010 0110102 21 = 210 01101002 20 = 110 110 - 110 010 011010012
Adding Binary Numbers Binary addition is just like decimal addition Can only use the 2 (1 and 0) symbols of the binary alphabet Carry ahead if needed
Adding Binary Numbers Rules of addition 0 + 0 = 1 0 + 1 = 1 1 + 0 = 1 1 + 1 = 10 1 + 1 + 1 = 11 1 1 1 17 11 + 7 + 1 2 4 1
Binary Number System How about representing negative numbers? Let the left most bit represent the sign (+, -) of the number Called signed magnitude representation [s][mag]
Signed Magnitude One less bit to represent the magnitude
Signed Magnitude Problems Two values of 0 Incorrect arithmetic More difficult to detect than one value of 0 Incorrect arithmetic 2 – 1 = 2 + (-1) = 1
Two’s Complement Representation Sign bit in a sense Positive numbers The leading bit (left most) is zero The same as signed magnitude Negative numbers The leading bit is one Defined so that when added to their corresponding positive number the answer is zero
Two’s Complement Representation Bit Pattern Value 0000 1000 -8 0001 1 1001 -7 0010 2 1010 -6 0011 3 1011 -5 0100 4 1100 -4 0101 5 1101 -3 0110 6 1110 -2 0111 7 1111 -1
Two’s Complement Representation Problems with signed magnitude representation are solved with the two’s complement representation There is only value of zero Arithmetic is correct Solution is in two’s complement form 2 – 1 = 2 + (-1) = 1
Binary number system Letters in the English language … Z = 9010 = 0101 10102 a = 9710 = 0110 00012 Z = 12210 = 0111 10102 Numbers are still left over for punctuation
Binary number system Precision The number of bits used to represent an item Letter: precision of 8 bits Integer (whole number): precision of 32 or 64 bits Always finite Computers have finite precision Presents some limitations
Hexadecimal number system Sometimes called hex Positional,base-16 system Each digit is multiplied by a power of 16 Sixteen unique symbols (digits) 0, 1, 2, …, 15 Symbol a or A for 10 Symbol b or B for 11 Symbol e or E for 14 Symbol c or C for 12 Symbol f or F for 15 Symbol d or D for 13
Hexadecimal number system A hex number can represent 16 different items Equivalent to 4 bits Makes it easy to convert between binary and hex Group bits by 4’s from the left end Substitute the hex symbol 9010 = 0101 10102 = 5A16 Is the base 16 really needed? 6610 = 0100 00102 = 4216
Hexadecimal number system Use the backwards conversion to convert hex to binary One hex digit is equivalent to 4 bits Substitute the binary nibble Always start at the right end Add zeros to the left end as necessary to fill in 4 bits
Hexadecimal number system BIN 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 1000 9 1001 A 10 1010 B 11 1011 C 12 1100 D 13 1101 E 14 1110 F 15 1111
Digitization The process of converting analog information into binary Discrete forms are unambiguous Text and numbers are discrete Conversion of discrete to digital Come up with a mapping As we did with the letters
Binary Coded Decimal Integers (whole numbers) One mapping is to use its binary equivalent Binary Coded Decimal (BCD) 010 = 00002 110 = 00012 … 910 = 10012 Need a minimum of 4 bits to represent 10 different values Some 4 bit quantities are wasted
Binary Coded Decimal String of decimal digits Each decimal digit is represented by 4 bits The number of bits needed to represent different numbers vary Performing arithmetic is complicated