Tutorial: ITI1100 Dewan Tanvir Ahmed SITE, UofO Email: dahmed@site.uottawa.ca
Binary Numbers Base (or radix) Number base conversion Complements 2 example: 0110 Number base conversion example: 41 = 101001 Complements 1's complements ( 2n- 1 ) - N 2's complements 2n - N Subtraction = addition with the 2's complement Signed binary numbers signed-magnitude, 10001001 signed 1's complement, 11110110 signed 2's complement. 11110111
Binary Number System Base = 2 2 Digits: 0, 1 Examples: = 8 + 1 = 9 1010 1101b = 1 * 27 + 1 * 25 + 1 * 23 + 1 * 22 + 1 = 128 + 32 + 8 + 4 + 1 = 173 Note: it is common to put binary digits in groups of 4 to make it easier to read them.
Ranges for Data Formats No. of bits Binary BCD 1 0 – 1 2 0 – 3 3 0 – 7 4 0 – 15 0 – 9 7 0 – 127 8 0 – 255 0 – 99 16 0 - 65,535 0 – 9999 24 0 – 16,777,215 0 – 999999
In General (binary) No. of bits Binary Min Max n 2n – 1
Signed Integers “unsigned integers” = positive values only Must also have a mechanism to represent “signed integers” (positive and negative values!) -1010 = ?2 Two common schemes: sign-magnitude and twos complement
Sign-Magnitude Extra bit on left to represent sign 0 = positive value 1 = negative value 6-bit sign-magnitude representation of +5 and –5: +5: 0 0 0 1 0 1 +ve 5 -5: 1 0 0 1 0 1 -ve 5
Ranges (revisited) No. of bits Binary Unsigned Sign-magnitude Min Max 1 2 3 -1 7 -3 4 15 -7 5 31 -15 6 63 -31
In General … No. of bits Binary Unsigned Sign-magnitude Min Max n 2n - 1 -(2n-1 - 1) 2n-1 - 1
Difficulties with Sign-Magnitude Two representations of zero Using 6-bit sign-magnitude… 0: 000000 0: 100000 Arithmetic is awkward!
Complementary Representations 1’s complement 2’s complement 9’s complement 10’s complement
Complementary Notations What is the 3-digit 10’s complement of 207? Answer: What is the 4-digit 10’s complement of 15? 111 is a 10’s complement representation of what decimal value?
Exercises – Complementary Notations What is the 3-digit 10’s complement of 207? Answer: 793 What is the 4-digit 10’s complement of 15? Answer: 9985 111 is a 10’s complement representation of what decimal value? Answer: 889
2’s Complement Most common scheme of representing negative numbers natural arithmetic - no special rules! Rule to represent a negative number in 2’s C Decide upon the number of bits (n) Find the binary representation of the +ve value in n-bits Flip all the bits Add 1
2’s Complement Example Represent -5 in binary using 2’s complement notation Decide on the number of bits Find the binary representation of the +ve value in 6 bits Flip all the bits Add 1 6 (for example) 000101 +5 111010 111010 + 1 111011 -5
Sign Bit In 2’s complement notation, the MSB is the sign bit (as with sign-magnitude notation) 0 = positive value 1 = negative value +5: 0 0 0 1 0 1 +ve 5 -5: 1 1 1 0 1 1 -ve 2’s complement
“Complementary” Notation Conversions between positive and negative numbers are easy For binary (base 2)…
Example +5 2’s C -5 0 0 0 1 0 1 1 1 1 0 1 0 + 1 1 1 1 0 1 1 0 0 0 1 0 0 + 1 2’s C +ve -ve 2’s C
Range for 2’s Complement For example, 6-bit 2’s complement notation 100000 100001 111111 000000 000001 011111 -32 -31 ... -1 0 1 ... 31 Negative, sign bit = 1 Zero or positive, sign bit = 0
Ranges No. of bits Binary Unsigned Sign-magnitude 2’s complement Min Max 1 2 3 -1 -2 7 -3 -4 4 15 -7 -8 5 31 -15 -16 6 63 -31 -32
In General (revisited) No. of bits Binary Unsigned Sign-magnitude 2’s complement Min Max n 2n - 1 -(2n-1 - 1) 2n-1-1 -2n-1 2n-1 - 1
What is -6 plus +6? Zero, but let’s see -6: 10000110 +6: +00000110 10001100 Sign-magnitude -6: 11111010 +6: +00000110 00000000 2’s complement
2’s Complement Subtraction Easy, no special rules Subtract?? Actually … addition! A – B = A + (-B) add 2’s complement of B
What is 10 subtract 3? 7, but… Let’s do it (we’ll use 6-bit values) 10 – 3 = 10 + (-3) = 7 001010 +111101 000111 +3: 000011 -3: 111101
What is 10 subtract -3? 13, but… Let’s do it (we’ll use 6-bit values) 10 – (-3) = 10 + (-(-3)) = 13 001010 +000011 001101 -3: 111101 +3: 000011
M - N M + 2’s complement of N If M N If M < N M + (2n - N) = M - N + 2n If M N Produce an carry, which is discarded If M < N results in 2n - (N - M), which is the 2’s complement of (N-M)
Overflow Carry out of the leading digit If we add two positive numbers and we get a carry into the sign bit we have a problem If we add two negative numbers and we get a carry into the sign bit we have a problem If we add a positive and a negative number we won't have a problem Assume 4 bit numbers (+7 : -8)
N = 4 Number Represented Binary 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 Unsigned 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Signed Mag 1 2 3 4 5 6 7 -0 -1 -2 -3 -4 -5 -6 -7 1's Comp 1 2 3 4 5 6 7 -7 -6 -5 -4 -3 -2 -1 -0 2's Comp 1 2 3 4 5 6 7 -8 -7 -6 -5 -4 -3 -2 -1
Overflow If we add two positive numbers and we get a carry into the sign bit we have a problem 3 0011 4 0100 6 0110 8 1000
Overflow -5 1011 -4 1100 -3 1101 -5 1011 -8 11000 -9 10111 If we add two negative numbers and we get a carry into the sign bit we have a problem
Overflow If we add a positive and a negative number we won't have a problem 5 0101 -4 1100 -3 1101 5 0101 2 10010 1 10001
Overflow If we add two positive numbers and we get a carry into the sign bit we have a problem 3 0011 4 0100 6 0110 8 1000 carry in 0 carry out 0 carry in 1 carry out 0
Overflow If we add two negative numbers and we get a carry into the sign bit we have a problem -5 1011 -4 1100 -3 1101 -5 1011 -8 11000 -9 10111 carry in 1 carry out 1 carry in 0 carry out 1
Overflow If we add a positive and a negative number we won't have a problem 5 0101 -4 1100 -3 1101 5 0101 2 10010 1 10001 carry in 1 carry out 1 carry in 1 carry out 1
Binary Codes n-bit binary code BCD – Binary Coded Decimal (4-bits) 2n distinct combinations BCD – Binary Coded Decimal (4-bits) 0 0000 1 0001 … … 9 1001 BCD addition Get the binary sum If the sum > 9, add 6 to the sum Obtain the correct BCD digit sum and a carry
Binary Codes ASCII code Error-detection code American Standard Code for Information Interchange alphanumeric characters, printable characters (symbol), control characters Error-detection code one parity bit - an even numbered error is undetected “A” 41:100|0001 - - > 0100|0001 (even), 1100|0001 (odd)
Binary Logic Boolean algebra Binary variables: X, Y Logical operations two discrete values (true or false) Logical operations AND, OR, NOT Truth tables
Logic Gates Logic circuits Computations and controls Logic Gates circuits = logical manipulation paths Computations and controls combinations of logic circuits Logic Gates
Timing diagram
Thank You!