Lecture 4 Last Lecture Positional Numbering Systems Converting
Lecture 4 • Last Lecture – Positional Numbering Systems – Converting Between Bases • Today’s Topics – Signed Integer Representation • • Signed magnitude One’s complement Two’s complement Excess-M representation 1
Positional Number Systems •
Representing Fractions • A number Nr in radix r can also have a fraction part: Nr = dn-1 dn-2 … d 1 d 0. d-1 d-2 … d-m+1 d-m MSD Integer Part Fraction Part Radix Point • The number Nr represents the value: Nr = dn-1 × rn-1 + … + d 1 × r + d 0 + d-1 × r -1 + d-2 × r -2 … + d-m × r –m 0 ≤ di < r LSD (Integer Part) (Fraction Part)
Popular Number Systems • Decimal Number System: Radix = 10 – Ten digit values: 0, 1, 2, …, 9 • Binary Number System: Radix = 2 – Only two digit values: 0 and 1 – Numbers are represented as 0 s and 1 s • Octal Number System: Radix = 8 – Eight digit values: 0, 1, 2, …, 7 • Hexadecimal Number Systems: Radix = 16 – Sixteen digit values: 0, 1, 2, …, 9, A, B, …, F – A = 10, B = 11, …, F = 15 • Octal and Hexadecimal numbers can be converted easily to Binary and vice versa
Binary/Octal/Hex-to-Decimal Conversion • Binary to Decimal: N 2 =(dn-1 2 n-1) +. . . + (d 1 21) + d 0 • Octal to Decimal: N 8 = (dn-1 8 n-1) +. . . + (d 1 8) + d 0 • Hex to Decimal: N 16 = (dn-1 16 n-1) +. . . + (d 1 16) + d 0 • Examples: (10011101)2 = 27 + 24 + 23 + 22 + 1 = 157 (7204)8 = (7 83) + (2 82) + (0 8) + 4 = 3716 (3 BA 4)16 = (3 163) + (11 162) + (10 16) + 4 = 15268
Summary of Number Systems Properties
Decimal to Binary Conversion • N = (dn-1 2 n-1) +. . . + (d 1 21) + (d 0 20) • Dividing N by 2 we first obtain – Quotient 1 = (dn-1 2 n-2) + … + (d 2 2) + d 1 – Remainder 1 = d 0 – Therefore, first remainder is least significant bit of binary number • Dividing first quotient by 2 we first obtain – Quotient 2 = (dn-1 2 n-3) + … + (d 3 2) + d 2 – Remainder 2 = d 1 • Repeat dividing quotient by 2 – Stop when new quotient is equal to zero – Remainders are the bits from least to most significant bit
Decimal-To-Binary Integer Conversion • Sum-of-Weights Methods – Determine the set of binary weights whose sum is equal to the decimal number. – Place 1 s in the appropriate weight positions. 1 0 0 1
Decimal-to-Hexadecimal Conversion v Repeatedly divide the decimal integer by 16 v Each remainder is a hex digit in the translated value v Example: convert 422 to hexadecimal least significant digit most significant digit 422 = (1 A 6)16 stop when quotient is zero v To convert decimal to octal divide by 8 instead of 16
Decimal-to-Octal Conversion v Repeatedly divide the decimal integer by 8 v Each remainder is a hex digit in the translated value v Example: convert 359 to octal Division Quotient Remainder 359/8 44 7 44/8 5 4 5/8 0 5 359 = (547)8 stop when quotient is zero least significant digit most significant digit
Converting Decimal Fractions to Binary •
Conversion Procedure to Radix r • To convert decimal number N (with fraction) to radix r • Convert the Integer Part – Repeatedly divide the integer part of number N by the radix r and save the remainders. The integer digits in radix r are the remainders in reverse order of their computation. If radix r > 10, then convert all remainders > 10 to digits A, B, … etc. • Convert the Fractional Part – Repeatedly multiply the fraction of N by the radix r and save the integer digits that result. The fraction digits in radix r are the integer digits in order of their computation. If the radix r > 10, then convert all digits > 10 to A, B, … etc. • Join the result together with the radix point
Simplified Conversions v Converting fractions between Binary, Octal, and Hexadecimal can be simplified v Starting at the radix pointing, the integer part is converted from right to left and the fractional part is converted from left to right v Group 4 bits into a hex digit or 3 bits into an octal digit integer: right to left 7 2 6 1 3 fraction: left to right . 2 4 7 4 5 2 Octal 1 1 1 0 0 0 1 1. 0 1 0 0 1 0 1 Binary 7 5 8 B . 5 3 C A 8 Hexadecimal v Use binary to convert between octal and hexadecimal
Signed Numbers • Several ways to represent a signed number – Sign-Magnitude – 1's complement – 2's complement • Divide the range of values into 2 equal parts – First part corresponds to the positive numbers (≥ 0) – Second part correspond to the negative numbers (< 0) • The 2's complement representation is widely used – Has many advantages over other representations
Sign-Magnitude Representation Sign Bit bit n-2 . . . bit 2 bit 1 bit 0 Magnitude = n – 1 bits • Sign-magnitude representation of +45 using 8 -bit register 0 0 1 1 0 Sign-magnitude representation of -45 using 8 -bit register 1 1 0 1
Signed Magnitude • Note: signed magnitude allows two different representations for zero: positive zero and negative zero. 16
Properties of Sign-Magnitude • Two representations for zero: +0 and -0 • Symmetric range of represented values: For n-bit register, range is from -(2 n-1 – 1) to +(2 n-1 – 1) For example using 8 -bit register, range is -127 to +127 • Hard to implement addition and subtraction – Sign and magnitude parts have to processed independently – Sign bit should be examined to determine addition or subtraction Addition is converted into subtraction when adding numbers of different signs – Need a different circuit to perform addition and subtraction Increases the cost of the logic circuit
One's Complement Representation 8 -bit Binary Unsigned value 1 0 -127 64 Signed value 0000 0 0 00000001 1 +1 00000010 2 +2 . . 01111110 126 +126 1 1 0 0 01111111 127 +127 32 16 8 4 2 1 10000000 128 -127 10000001 129 -126 . . 11111110 254 -1 1111 255 -0
Two's Complement Representation 8 -bit Binary Unsigned value 1 0 -128 64 1 1 0 0 32 16 8 4 2 1 Signed value 0000 0 0 00000001 1 +1 00000010 2 +2 . . 01111110 126 +126 01111111 127 +127 10000000 128 -128 10000001 129 -127 . . 11111110 254 -2 1111 255 -1
Forming the Two's Complement starting value 00100100 = +36 step 1: reverse the bits (1's complement) 11011011 step 2: add 1 to the value from step 1 + sum = 2's complement representation 11011100 = -36 1 Sum of an integer and its 2's complement must be zero: 00100100 + 11011100 = 0000 (8 -bit sum) Ignore Carry Another way to obtain the 2's complement: Binary Value Start at the least significant 1 Leave all the 0 s to its right unchanged Complement all the bits to its left = 00100 1 00 least significant 1 2's Complement = 11011 1 00
Properties of the 2’s Complement • The 2’s complement of N is the negative of N • The sum of N and 2’s complement of N must be zero The final carry is ignored • Consider the 8 -bit number N = 001011002 = +44 -44 = 2’s complement of N = 110101002 001011002 + 110101002 = 1 00002 (8 -bit sum is 0) Ignore final carry • In general: Sum of N + 2’s complement of N = 2 n where 2 n is the final carry (1 followed by n 0’s) • There is only one zero: 2’s complement of 0 = 0
Comparison
Exercise Show the numbers +53 and -53 are represented in 8 bit registers using signed-magnitude, 1's complement and 2's complement representations.
Excess-M Representation • 24
Excess-M Representation • Lets compare our representations: 25
Quiz: Fill in the following table to indicate what each binary pattern represents using the various formats. Unsigned integer 4 -bit Binary Value Signed Magnitude 1’s Complement 2’s Complement Excess-7 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 26
Exercise - Solution Fill in the following table to indicate what each binary pattern represents using the various formats. 27
- Slides: 27