1 Digital Design: Number Systems Credits : Slides adapted from: J.F. Wakerly, Digital Design, 4/e, Prentice Hall, 2006 C.H. Roth, Fundamentals of Logic Design, 5/e, Thomson, 2004
2 Positional Number Systems A number is represented by a string of digits, where each digit position has an associated weight and it has the following form: d p 1 d p 2 d 1 d 0. d 1 d 2 d n The value of the number is given by:
3 Binary Numbers The general form of a binary number of p+n binary digits (bits) is: b p 1 b p 2 b 1 b 0. b 1 b 2 b n and its value is:
4 Octal and Hexadecimal Numbers The octal number system uses radix 8, while the hexadecimal number system uses radix 16 The octal and hex number systems are useful for representing multibit numbers
5 Conversion from Binary to Decimal Method: summation Example: = 1 2 0 =
6 Conversion from Decimal to Binary Method: successive divisions Example:
7 EXAMPLE: convert to binary
8 EXAMPLE: convert.625 ten to binary
9 EXAMPLE: convert to binary.
10 EXAMPLE: convert to base 7.
11 Addition of Binary Numbers EXAMPLE: Add and in binary.
12 Subtraction of Binary Numbers EXAMPLES:
13 Representation of Negative Numbers Signed-Magnitude Representation 10 ten 10 ten two two The number zero has two representations (+0 and 0) An n-bit signed-magnitude number lies within the range (2 n 1 1) through (2 n 1 1) To add signed-magnitude numbers we must examine the signs of the addends to determine what to do … Radix Complement Representation Diminished Radix Complement Representation
14 Representing Numbers ???? Key observation: Numbers are just strings of symbols. The meaning (value) we assign to each string instance (pattern) is up to us. If the string is n symbols (digits) long and each symbol can take up to different r instances (radix) then we can form r n different patterns. “Common sense” characteristics of a system number: Assign a different value to each different pattern Split the patterns equally between positive numbers and negative numbers The mechanic of doing arithmetic operations should be as “simple’ as possible
15 Complement Number Systems While the signed-magnitude system negate a number by changing its sign, a complement number system negates a number by taking its complement. Radix-complement Representation The complement of an n-digit number D is obtained by subtracting it from r n r n – D = ((r n 1) D) 1 Diminished Radix-complement Representation In a diminished radix-complement system the complement of an n-digit number D is obtained by subtracting it from r n 1
16 Complement Number Systems
17 Complement Number Systems
18 Complement Number Systems Once we know how to compute the diminished-radix complement of a number, computing the radix-complement is very simple: radix complement = diminished-radix complement
19 C 2 Number System For binary numbers, the radix complement is called two’s complement (C 2 ). The MSB of a number in this system serves as the sign bit. Negative numbers have MSB equal to 1 Positive numbers have MSB equal to 0 The range of representable numbers is: –(2 n 1 ) through +(2 n 1 1) Zero has only one representation
20 Two’s Complement Number System
21 C 1 Number System For binary numbers, the diminished-radix complement is called one’s complement (C 1 ). The MSB of a number in this system serves as the sign bit. Negative numbers have MSB equal to 1 Positive numbers have MSB equal to 0 The range of representable numbers is: –(2 n 1 1) through +(2 n 1 1) Zero has two representations: positive zero (00 00) and negative zero (11 11)
22 Summary of Signed Number Systems
23 C 1 Number System In the C 1 number system to negate an n-bit number all we have do is to flip (invert) all the bits
24 C 2 Number System In the C 2 number system to negate an n-bit number requires two steps: invert all bits of the number (i.e. take the C 1 of the number) and then add 1
25 “Playing” with the C 2 notation The sum of a number and its inverted representation must be 111….111 two, which in C 2 represent –1
26 C 2 EXAMPLES
27 C 2 sign extension As far as m > n, it is possible to convert n-bit numbers into m- bit numbers, but some care is needed : copy the most significant bit (the sign bit) into the other bits 0010 This procedure is referred as "sign extension"
28 C 2 Addition and Subtraction 1. Addition of 2 positive numbers, sum < 2 n –1. 2. Addition of 2 positive numbers, sum ≥ 2 n –1
29 C 2 Addition and Subtraction 3. Addition of positive and negative numbers (negative number has greater magnitude). 4. Addition of positive and negative numbers (positive number has greater magnitude).
30 C 2 Addition and Subtraction 5. Addition of two negative numbers, |sum| ≤ 2 n –1. 6. Addition of two negative numbers, | sum | > 2 n –1.
31 Detecting overflow Overflow occurs when the value affects the sign bit: adding two positives yields a negative adding two negatives gives a positive subtract a negative from a positive and get a negative subtract a positive from a negative and get a positive No overflow when adding a positive and a negative number No overflow when subtracting two numbers of same sign Consider the operations A + B, and A – B Can overflow occur if B is 0 ? Can overflow occur if A is 0 ? cannot occur ! can occur ! (for A B if B= 2 n 1 )
32 Binary Codes for Decimal Numbers
33 Gray Code
34 Character Codes
35 N-cubes and Hamming distance
36 Traversing a 3-cube in Gray code order