0% found this document useful (0 votes)
12 views38 pages

ch01 1

The document discusses binary systems, emphasizing the importance of binary numbers in digital systems and their arithmetic operations. It explains various number systems, including decimal, octal, and hexadecimal, along with base conversions and the representation of signed numbers using complements. Additionally, it covers alphanumeric codes like ASCII and the fundamentals of binary logic and operations.

Uploaded by

Walaa Shawar
Copyright
© © All Rights Reserved
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% found this document useful (0 votes)
12 views38 pages

ch01 1

The document discusses binary systems, emphasizing the importance of binary numbers in digital systems and their arithmetic operations. It explains various number systems, including decimal, octal, and hexadecimal, along with base conversions and the representation of signed numbers using complements. Additionally, it covers alphanumeric codes like ASCII and the fundamentals of binary logic and operations.

Uploaded by

Walaa Shawar
Copyright
© © All Rights Reserved
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/ 38

Binary Systems

Logic and Digital System Design

1
Binary Numbers 1/2
• Internally, information in digital systems is of
binary form
– groups of bits (i.e. binary numbers)
– all the processing (arithmetic, logical, etc) are
performed on binary numbers.

2
Binary Numbers 2/2
• Decimal system
– coefficients are from {0,1, …, 9}
– and coefficients are multiplied by powers of 10
– base-10 or radix-10 number system
• Using the analogy, binary system {0,1}
– base(radix)-2
• Example: 25.625
– 25.625 = decimal expansion
– 25.625 = binary expansion
– 25.625 = (11001.101)2

3
Base-r Systems
• base-r (n, m)
– A = an-1 rn-1 +… + a1 r1 + a0 r0 + a-1 r-1 + a-2 r-2 + … +a-
m r
-m

• Octal
– base-8 = base-23
– digits {0,1, …, 7}
– Example: (31.5)8 = octal expansion = 25.625
• Hexadecimal
– base-16
– digits {0, 1, …, 9, A, B, C, D, E, F}
– Example:
– (19.A)16 = hexadecimal expansion = 25.625 4
Powers of 2
• 210 = 1,024 (K – Kilo)
• 220 = 1,048,576 (M – Mega)
• 230  G – Giga
• 240  T – Tera
• 250  P – Peta
• exa, zetta, yotta, …
• Examples:
– A byte is 8-bit
– 16 Gigabyte = 234 bytes = 17,179,869,184

5
Arithmetic with Binary Numbers

10101 21 augend 10101 21 minuend


s
- 10011 19 subtrahend
+ 10011 19 addend
0 00010 2 difference
1 01000 40 sum

0 0 1 0 multiplicand (2)
 1 0 1 1 multiplier (11)
0 0 1 0
0 0 1 0
0 0 0 0
+ 0 0 1 0
0 0 1 0 1 1 0 product (22)
6
Multiplication with Octal Numbers

3 4 5 229 multiplicand
 6 2 1 401 multiplier
3 4 5
7 1 2
+ 2 5 3 6
2 6 3 2 6 5 91829 product

7
Base Conversions
• From base-r to decimal is easy
– expand the number in power series and add all the
terms
• Reverse operation is somewhat more difficult
• Simple idea:
– divide the decimal number successively by
r
– accumulate the remainders.
– stop when you get a 0.
• If there is a fraction, then integer part and
fraction part are handled separately.
8
Base Conversion Examples 1/3
• Example 1:
– 55
– (decimal to binary)
– (00110111)

– Example 2:
– 144
– (decimal to octal)
– (220)

9
Base Conversion Examples 2/3
• Example 1: 0.6875 (decimal to binary)
– When dealing with fractions, instead of dividing
by r multiply by r until we get an integer
– …
– 0.1011

10
Base Conversion Examples 2/3
• We are not always this lucky
• Example 2: (144.478) to octal
– Treat the integer part and fraction part separately
– 0.4788 = 3.824 = 3 + 0.824  a-1 = 3
– 0.8248 = 6.592 = 6 + 0.592  a-2 = 6
– 0.5928 = 4.736 = 4 + 0.736  a-3 = 4
– 0.7368 = 5.888 = 5 + 0.888  a-4 = 5
– 0.8888 = 7.104 = 7 + 0.104  a-5 = 7
– 0.1048 = 0.832 = 0 + 0.832  a-6 = 0
– 0.8328 = 6.656 = 6 + 0.656  a-1 = 6
– 144.478 = (220.3645706…)8 11
Conversions between Binary,
Octal and Hexadecimal
• r = 2 (binary), r = 8 (octal), r = 16 (hexadecimal)

10110001101001.101100010111

10 110 001 101 001.101 100 010 111

10 1100 0110 1001.1011 0001 0111


• Octal and hexadecimal representations are
more compact.
• Therefore, we use them in order to
communicate with computers directly using
their internal representation
12
Complements
• Complementing is an operation on base-r
numbers
• Goal: To simplify subtraction operation
– Rather turn the subtraction operation into an
addition operation
• Two types
1. Radix complement (a.k.a. r’s complement)
2. Diminished complement (a.k.a. (r-1)’s
complement)
• When r = 2
1. 2’s complement
2. 1’s complement 13
How to Complement?
• A number N in base-r
1. rn – N r’s complement
2. (rn-1) – N (r-1)’s complement
– where n is the number of digits we use
• Example: r = 2, n = 4, N = 7
– rn = 24 = 16, rn -1 = 15.
– 2’s complement of 7  ?
– 1’s complement of 7  ?
• Easier way to compute complements
– Use binary expansions
– 1’s complement: negate
– 2’s complement: negate + increment
14
Subtraction with Complements
1/4
• Conventional subtraction
– Borrow concept
– If the minuend digit is smaller than the
subtrahend digit, you borrow “1” from a digit in
higher significant position
• With complements
– M-N = ?
– rn – N r’s complement of N
– M + (rn – N) = M – N + rn

15
Subtraction with Complements
2/4
• M + (r – N) = M – N + r
n n

1. if M  N,
– the sum will produce a carry, that can be
discarded
2. Otherwise,
– the sum will not produce a carry, and will be
equal to rn – (N-M), which is the r’s complement of
N-M

16
Subtraction with Complements
3/4
• Example:
– X = 1010100 (84) and Y = 1000011 (67)
– X-Y = ? and Y-X = ?
X 1010100
2’s complement of Y + 0111101

Y 1000011
2’s complement of X + 0101100

17
Subtraction with Complements
4/4
• Example: Previous example using 1’s
complement
X 1010100
1’s complement of + 0111100
Y

Y 1000011
1’s complement of + 0101011
X

18
Signed Binary Numbers
• Pencil-and-paper
– Use symbols “+” and “-”
• We need to represent these symbols using bits
– Convention:
• 0 positive
1 negative
• The leftmost bit position is used as a sign bit
– In signed representation, bits to the right of sign bit
is the number
– In unsigned representation, the leftmost bit is a
part of the number (i.e. the most significant bit
(MSB))
19
Signed Binary Numbers
• Example: 5-bit numbers
– 01011  ? (unsigned binary)
–  ? (signed binary)
– 11011  ? (unsigned binary)
–  ? (signed binary)
– This method is called “signed-magnitude” and is
rarely used in digital systems (if at all)
• In computers, a negative number is represented
by the complement of its absolute value.
• Signed-complement system
– positive numbers have always “0” in the MSB position
– negative numbers have always “1” in the MSB
position 20
Signed-Complement System
• Example:
– 11 = (01011)
– How to represent –11 in 1’s and 2’s complements
1. 1’s complement –11 = ?
2. 2’s complement -11 = ?
– If we use eight bit precision:
– 11 = 00001011
– 1’s complement -11 = ?
– 2’s complement -11 = ?

21
Signed Number Representation
Signed magnitude One’s Two’s
complement complement
000 +0 000 +0 000 0
001 +1 001 +1 001 +1
010 +2 010 +2 010 +2
011 +3 011 +3 011 +3
100 -0 111 -0 111 -1
101 -1 110 -1 110 -2
110 -2 101 -2 101 -3
111 -3 100 -3 100 -4
• Issues: balance, number of zeros, ease of
operations
22
• Which one is best? Why?
Which One?
• Signed magnitude:
– Where to put the sign bit?
– Adders may need an additional step to set the sign
– There are two representations for 0.
• Try to subtract a large number from a smaller one.
2 = 0 0 1 0
5 = 0 1 0 1
= 1 1 0 1
• 2’s complement provide a natural way to represent
signed numbers (every computer today uses two’s
complement)
• Think that there is an infinite number of 1’s in a signed
number
-3 = 1101  …11111101 23


Arithmetic Addition
• Examples:

+11 00001011 -11 11110101


+9 + 00001001 +9 + 00001001

+11 00001011 -11 11110101


-9 + 11110111 -9 + 11110111

• No special treatment for sign bits


24
Arithmetic Overflow 1/2
• In hardware, we have limited resources to
accommodate numbers
– Computers use 8-bit, 16-bit, 32-bit, and 64-bit
registers for the operands in arithmetic operations.
– Sometimes the result of an arithmetic operation
get too large to fit in a register.

25
Arithmetic Overflow 2/2
• Example:

+2 0010 -3 1101
+4 + 0100 -5 + 1011

+7 0111 -3 1101
+6 + 0110 -6 + 1010

• Rule: If the MSB and the bits to the left of it


differ, then there is an overflow
26
Subtraction with Negative
Numbers
• Rule: is the same
• We take the 2’s complement of the subtrahend
– It does not matter if the subtrahend is a negative
number.
– (A) - (-B) = A+B

-6 11111010 -6 11111010
-13 - 11110011 +13 + 00001101
+7 1 00000111
• Signed-complement numbers are added and
subtracted in the same way as unsigned numbers
• With the same circuit, we can do both signed and
unsigned arithmetic 27
Alphanumeric Codes
• Besides numbers, we have to represent other
types of information
– letters of alphabet, mathematical symbols.
• For English, alphanumeric character set
includes
– 10 decimal digits
– 26 letters of the English alphabet (both lowercase
and uppercase)
– several special characters
• We need an alphanumeric code
– ASCII
– American Standard Code for Information Exchange
– Uses 7 bits to encode 128 characters
28
ASCII Code
• 7 bits of ASCII Code
– (b6 b5 b4 b3 b2 b1 b0)2
• Examples:
– A  65 = (1000001),…, Z  90 = (1011010)
– a  97 = (1100001), …, z  122 = (1111010)
– 0 48 = (0110000), …, 9  57 = (0111001)
• 128 different characters
– 26 + 26 + 10 = 62 (letters and decimal digits)
– 32 special printable characters %, *, $
– 34 special control characters (non-printable): BS,
CR, etc. 29
Representing ASCII Code
• 7-bit
• Most computers manipulate 8-bit quantity as a
single unit (byte)
– One ASCII character is stored using a byte
– One unused bit can be used for other purposes such
as representing Greek alphabet, italic type font, etc.
• The eighth bit can be used for error-detection
– parity of seven bits of ASCII code is prefixed as a bit
to the ASCII code.
– A  (0 1000001) even parity
– A  (1 1000001) odd parity
– Detects one, three, and any odd number of bit
errors 30
Binary Logic
• Deals with variables that take on “two
discrete values” and operations that assume
logical meaning
• Two discrete values:
– {true, false}
– {yes, no}
– {1, 0}
• Binary logic is actually equivalent to what it is
called “two-valued Boolean algebra”
– Or we can say it is an implementation of Boolean
algebra
31
Binary Variables and Operations
• We use A, B, C, x, y, z, etc. to denote binary
variables
– each can take on {0, 1}
• Logical operations
1.AND  x · y = z or xy = z
2.OR x+y=z
3.NOT  x = z or x’ = z
– For each combination of the values of x and y,
there is a value of specified by the definition of
the logical operation.
– This definition may be listed in a compact form
called truth table.
32
Truth Table

x y AND OR NOT
x·y x + y x’
0 0 0 0 1

0 1 0 1 1

1 0 0 1 0

1 1 1 1 0

33
Logic Gates
• Electronic circuits that operate on one or more
input signals to produce output signals
– AND gate, OR gate, NOT gate
• These signals are electrical signals
– voltage
– current
• They take on either of two recognizable values
• For instance, voltage-operated circuits
– 0V  0
– 4V  1
34
Range of Electrical Signals
• What really matters is the range of the signal
value

35
Logic Gate Symbols

36
Gates Operating on Signals

37
Gates with More Than Two Inputs

38

You might also like