This document discusses number systems and binary arithmetic. It introduces binary, octal, decimal, and hexadecimal number systems. It covers base conversion between these systems and binary arithmetic. It also discusses sign representation in binary, including sign-and-magnitude, ones'-complement, and twos'-complement systems. Twos'-complement is identified as the preferred system for representing negative numbers in binary. The document also touches on overflow and binary-coded decimal.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
37 views21 pages
02 NumberSystems
This document discusses number systems and binary arithmetic. It introduces binary, octal, decimal, and hexadecimal number systems. It covers base conversion between these systems and binary arithmetic. It also discusses sign representation in binary, including sign-and-magnitude, ones'-complement, and twos'-complement systems. Twos'-complement is identified as the preferred system for representing negative numbers in binary. The document also touches on overflow and binary-coded decimal.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 21
1
Lecture 2: Number Systems
Binary numbers Base conversion Arithmetic Number systems Sign and magnitude Ones-complement Twos-complement Binary-coded decimal (BCD) 2 Positional number notation Bases we will use Binary: base 2 Octal: base 8 Decimal: base 10 Hexadecimal: base 16
Positional number system 101 2 = 12 2 + 02 1 + 12 0 = 5 10
Conversion to decimal 101 2 = 12 2 + 02 1 + 12 0 = 5 10 4 Base conversion from decimal Why does this work? 5 Base conversion from decimal N = 56 10 = 111000 2
Each successive division "liberates" a least significant bit 6 Arithmetic Decimal
Binary 1 1 1011 + 1010 10101 1011 0110 0101 11 1234 + 5678 6912 5274 1638 3636 7 Negative numbers How do we write negative binary numbers? Prefix numbers with minus symbol?
3 approaches: Sign and magnitude Ones-complement Twos-complement
All 3 approaches represent positive numbers in the same way 8 Sign and magnitude Most significant bit (MSB) is the sign bit 0 positive 1 negative
Remaining bits are the number's magnitude 0000 0001 0011 1111 1110 1100 1011 1010 1000 0111 0110 0100 0010 0101 1001 1101 + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 0 1 2 3 4 5 6 7 9 Sign and magnitude Problem 1: Two representations of for zero +0 = 0000 and also 0 = 1000 Problem 2: Arithmetic is cumbersome 4 3 != 4 + (-3) 10 Ones-complement Negative number: Bitwise complement of positive number 0111 7 10 1000 7 10 0000 0001 0011 1111 1110 1100 1011 1010 1000 0111 0110 0100 0010 0101 1001 1101 + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 7 6 5 4 3 2 1 0 11 Ones-complement Solves the arithmetic problem
end-around carry 12 Why ones-complement works The ones-complement of an 4-bit positive number y is 1111 2 y 0111 7 10
1111 2 0111 2 = 1000 2 7 10
What is 1111 2 ? 1 less than 10000 2 = 2 4 1 y is represented by (2 4 1) y 13 Why ones-complement works Adding representations of x and y where x, y are positive numbers, we get x + ((2 4 1) y) = (2 4 1) + (x y) If x < y, then x y < 0. There will be no carry from (2 4 1) + (x y). Just add representations to get correct negative number. If x > y, then x y > 0. There will be a carry. Performing end-around carry subtracts 2 4 and adds 1, subtracting (2 4 1) from (2 4 1) + (x y) If x = y, then answer should be 0, get (2 4 1) = 1111 2 14 So what's wrong? Still have two representations for zero! +0 = 0000 and also 0 = 1111 15 Twos-complement Negative number: Bitwise complement plus one 0111 7 10 1001 7 10
17 Why twos-complement works Recall: The ones-complement of a b- bit positive number y is (2 b 1) y Twos-complement adds one to the bitwise complement, thus, y is 2 b y y and 2 b y are equal mod 2 b (have the same remainder when divided by 2 b ) Ignoring carries is equivalent to doing arithmetic mod 2 b
18 Why twos-complement works Adding representations of x and y where x, y are positive numbers, we get x + (2 b y) = 2 b + (x y) If there is a carry, that means that x y and dropping the carry yields x y If there is no carry, then x < y, then we can think of it as 2 b (y x), which is the twos-complement representation of the negative number resulting from x y. 19 Overflow Answers only correct mod 2 b
Summing two positive numbers can give a negative result Summing two negative numbers can give a positive result 0000 0001 0011 1111 1110 1100 1011 1010 1000 0111 0110 0100 0010 0101 1001 1101 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 8 7 6 5 4 3 2 1 0000 0001 0011 1111 1110 1100 1011 1010 1000 0111 0110 0100 0010 0101 1001 1101 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 8 7 6 5 4 3 2 1 6 + 4 6 7 3 +6 20 Miscellaneous Sign-extension Write +6 and 6 as twos-complement 0110 and 1010 Sign-extend to 8-bit bytes 00000110 and 11111010
Can't infer a representation from a number 11001 is 25 (unsigned) 11001 is -9 (sign and magnitude) 11001 is -6 (ones complement) 11001 is -7 (twos complement) 21 BCD (Binary-Coded Decimal) Decimal Symbols 0 1 2 3 4 5 6 7 8 9 BCD Code 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001