0% found this document useful (0 votes)
54 views28 pages

Ch. 1 Digital Systems - Tagged

The document discusses different number systems used in digital systems including binary, octal, hexadecimal, and decimal. It explains how each system represents values using a base and place-value weighting of digits. Binary coded decimal is also introduced which uses 4-bit codes to represent each decimal digit. Finally, various methods for representing signed numbers in binary are described such as signed magnitude, one's complement, and two's complement representations.

Uploaded by

Maram Alsohimi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
54 views28 pages

Ch. 1 Digital Systems - Tagged

The document discusses different number systems used in digital systems including binary, octal, hexadecimal, and decimal. It explains how each system represents values using a base and place-value weighting of digits. Binary coded decimal is also introduced which uses 4-bit codes to represent each decimal digit. Finally, various methods for representing signed numbers in binary are described such as signed magnitude, one's complement, and two's complement representations.

Uploaded by

Maram Alsohimi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 28

COE 211 - Digital Logic

Design

Ch. 1 Digital Systems & Binary


Numbers
Digital Systems

● Digital systems are used in communication,


computers, phones, cameras, TVs, … etc.
● Digital systems consider discrete amounts of data
● i. e., a data set restricted to a finite # of elements.
● Examples
● 26 letters in the alphabet
● 10 decimal digits

● Larger quantities can be built from discrete values:


● Words made of letters
● Numbers made of decimal digits (e. g., 239875.32)

2
Decimal Numbers
● Decimal numbers are made of decimal digits:
● (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)  Base = 10

● But how many items does a decimal number represent?


● 8653 = 8 x103 + 6 x102 + 5 x101 + 3 x100

● Number = d3 x B3 + d2 x B2 + d1 x B1 + d0 x B0 = Value

● What about fractions?


● 97654.35 = 9x104 + 7x103 + 6x102 + 5x101 + 4x100 + 3x10-1 + 5x10-2
● Formal notation: (97654.35)10

● Representation vs. value.

3
Binary Numbers
● Binary numbers are made of binary digits (bits):
● (0, 1)  Base = 2
● How many items does a binary number represent?
Weights: 8 4 2 1
● (1011)2 = 1x23 + 0x22 + 1x21 + 1x20 = (11)10
● What about fractions?
● (110.10)2 = 1x22 + 1x21 + 0x20 + 1x2-1 + 0x2-2 = (6.5)10
● Group of eight bits is called a byte: (11001001)2
● Group of four bits is called a nibble: (1101)2
● Easy to represent binary values electrically
● Voltages and currents
● Can be implemented using circuits
● Create the building blocks of modern computers
●  Computers operate on binary values.
4
Octal Numbers
● Octal numbers are made of octal digits:
● (0, 1, 2, 3, 4, 5, 6, 7)  Base = 8
● How many items does an octal number represent?
Weights: 512 64 8 1
● (4536)8 = 4x83 + 5x82 + 3x81 + 6x80 = (2398)10
● What about fractions?
● (465.27)8 = 4x82 + 6x81 + 5x80 + 2x8-1 + 7x8-2 = (309.359375)10

● Octal numbers don’t use digits 8 or 9

5
Hexadecimal Numbers
● Hexadecimal numbers are made of 16 digits:
● (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F)  Base = 16
● How many items does a hex number represent?
Weights: 4096 256 16 1
● (3A9F)16 = 3x163 + 10x162 + 9x161 + 15x160 = (15007)10
● What about fractions?
● (2D3.5)16 = 2x162 + 13x161 + 3x160 + 5x16-1 = (723.3125)10

● Note that each hexadecimal digit can be


represented with four bits
● (E)16 = (1110)2

6
Why Use Binary Numbers?
● Easy to represent 0 and 1
using electrical values
● Possible to tolerate noise
● Easy to transmit data
● Easy to build binary circuits

1
AND Gate 0
0

7
Convert an Integer from Decimal to
Another Base

For each digit position:


1. Divide decimal number by the base (e.g. 2)
2. The remainder is the lowest-order digit
3. Repeat first two steps until the quotient becomes zero.
Example: Convert (13)10 to binary.
Let the binary number be (a3 a2 a1 a0)2
Quotient Remainder Coefficient
13/2 = 6 1 a0 = 1
6/2 = 3 0 a1 = 0
3/2 = 1 1 a2 = 1
1/2 = 0 1 a3 = 1

Answer: (13)10 = (a3 a2 a1 a0)2 = ( 1 1 0 1)2

8
MSB LSB
Convert a Fraction from Decimal to Another
Base

For each digit position:


1. Multiply decimal number by the base (e.g. 2)
2. The integer is the highest-order digit
3. Repeat first two steps until fraction becomes zero

Example: Convert (0.125)10 to binary.


Let the binary number be (0.a-1 a-2 a-3)2
MSB LSB

Answer: (0.125)10 = (0. a-1 a-2 a-3 )2 = (0 . 0 0 1 )2

Integer Fraction Coefficient

0.125 x 2 = 0 + 0.250 a-1 = 0


0.250 x 2 = 0 + 0.500 a-2 = 0
0.500 x 2 = 1 + 0 a-3 = 1 9
Conversion Between Base 16 and
Base 2

● Conversion is easy!
Determine the 4-bit value for each hex digit
● Note that there are 16 different values of four bits.
● Easier to read and write in hexadecimal
● Representations are equivalent!

3A9F16 = 0011 1010 1001 11112


3 A 9 F

10
The Growth of Binary
Numbers

11
Binary-Coded Decimal (BCD)
● Binary Coded Decimal (BCD) represents each
decimal digit with four bits
Ex. 0011 0010 1001 = 329 Digit BCD Code
10

3 2 9
0 0000
1 0001
● This is NOT the same as
2 0010
0011001010012 = 80910 3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001

12
Putting It All Together
Decimal Binary Octal Hexadecimal BCD
0 0000 0 0 000
1 0001 1 1 0001
2 0010 2 2 0010
3 0011 3 3 0011
4 0100 4 4 0100
5 0101 5 5 0101
6 0110 6 6 0110
7 0111 7 7 0111
8 1000 10 8 1000
9 1001 11 9 1001
10 1010 12 A 0001 0000
11 1011 13 B 0001 0001
12 1100 14 C 0001 0010
13 1101 15 D 0001 0011
14 1110 16 E 0001 0100
15 1111 17 F 0001 0101
13
How To Represent Signed
Numbers
● Plus and minus signs are used for decimal numbers:
● 25 (or +25), −16, … etc
● In computers, everything is represented as bits
● Three types of signed binary number representations:
● signed magnitude representation
● 1’s complement representation
● 2’s complement representation
● In each case: left-most bit indicates the sign:
‘0’ for positive
‘1’ for negative

14
Signed Magnitude
Representation
● The left most bit is designated as the sign bit, the
remaining bits form the magnitude

00001100 = 1210
Sign bit Magnitude

10001100 = −1210
Sign bit Magnitude

15
One’s Complement
Representation
● The one’s complement of a binary number is done by
complementing (i.e. inverting) all bits
1’s comp of 00110011 is 11001100
1’s comp of 10101010 is 01010101
● For an n-bit number N, the 1’s complement is
(2n − 1) − N
● # of bits (n) has to be specified.
● Positive numbers represented as n-bit numbers.
● Negative numbers represented as 1’s complement.

00001100 = 1210 11110011 = −1210

Sign bit Magnitude Sign bit Code 16


One’s Complement
Representation
7 0111
4 bits 6 0110
 . .
16 combinations . .
1 0001
0 0000
−0 1111
−1 1110
. .
. .
−6 1001
−7 1000

17
Two’s Complement
Representation
● The two’s complement of a binary number is done by
complementing (inverting) all bits then adding 1
2’s comp of 00110011 is 11001101
2’s comp of 10101010 is 01010110
● For an n-bit number N, the 2’s complement is
(2n−1) − N + 1
● # of bits (n) has to be specified.
● Positive numbers represented as n-bit numbers.
● Negative numbers represented as 2’s complement.

00001100 = 1210 11110100 = −1210

Sign bit Magnitude Sign bit Code 18


Two’s Complement Shortcuts
● Algorithm 1: Complement each bit then add 1 to the
result
N = 01100101 [N] = 10011011
10011010 01100100
+ 1 + 1
10011011 01100101
● Algorithm 2: Starting with the least significant bit,
copy all of the bits up to and including the first ‘1’
bit, then complement the remaining bits
N =01100110
[N] =10011010

19
Two’s Complement
Representation
7 0111
4 bits 6 0110
 . .
16 combinations 2 0010
1 0001
0 0000
−1 1111
−2 1110
. .
. .
−7 1001
−8 1000

20
Putting It All Together

21
Finite-Precision Number
Representation
● For an n-bit number, there are 2n different unsigned
values (combinations or codes)
(0, 1, … , 2n – 1)
● Machines that use 2’s complement arithmetic can
represent integers in the range
− 2n – 1 ≤ N ≤ 2n – 1 − 1
n is the number of bits used for representing N
Note that 2n – 1 − 1 ≡ 011...11 and − 2n – 1 ≡ 100...00
● 2’s complement code has more negative numbers
than positive
● 1’s complement code has 2 representations for
zero
22
2’s Complement Addition
● Using 2’s complement representation, adding
numbers is easy
Step 1: Add binary numbers
Step 2: Ignore the resulting carry bit
● For example: (12)10 + (1)10
0 1 1 0 0
(12)10 = +(01100)2 Add + 0 0 0 0 1
= 01100 in 5-bit 2’s comp. rep. --------------
Final 0 0 1 1 0 1
(1)10 = +(00001)2 Result
= 00001 in 5-bit 2’s comp. rep.

Ignore

23
2’s Complement
Subtraction
● Using 2’s complement representation, subtracting
numbers is also easy
Step 1: Take 2’s complement of 2nd operand
Step 2: Add binary numbers
Step 3: Ignore the resulting carry bit 0 1 1 0 0
- 0 0 0 0 1
● For example: (12)10 − (1)10
2’s comp
(12)10 = +(01100)2 0 1 1 0 0
= 01100 in 5-bit 2’s comp. rep.Add + 1 1 1 1 1
(−1)10 = −(00001)2 Final
--------------
1 0 1 0 1 1
= 11111 in 5-bit 2’s comp. rep.Result

Ignore
Carry
24
2’s Complement Subtraction
(Cont’d)

● Example 2: (13)10 − (5)10


(13)10 = +(01101)2 = 01101 in 5-bit 2’s comp. rep.
(−5)10 = −(00101)2 = 11011 in 5-bit 2’s comp. rep.
● Adding these two 5-bit codes:
01101
+ 11011
Carry 1 01000
● Discarding the carry bit, the sign bit is seen to be
zero, indicating a positive result
Indeed: (01000)2 = +(8)10

25
2’s Complement Subtraction
(Cont’d)

● Example 3: (5)10 − (12)10


(5)10 = +(00101)2 = 00101 in 5-bit 2’s comp. rep.
(−12)10 = −(01100)2 = 10100 in 5-bit 2’s comp. rep.
● Adding these two 5-bit codes:
00101
+ 10100
Carry 0 11001
● Here, there is no carry bit and the sign bit is 1.
This indicates a negative result, which is what we
expect: (11001)2 = – (7)10

26
Gray Code
● Gray code is not a number Digit Binary Gray
Code
system 0 0000 0000
1 0001 0001
It is an alternate way to
2 0010 0011
represent four bit data 3 0011 0010
● Only one bit changes from one 4 0100 0110
decimal digit to the next 5 0101 0111
6 0110 0101
● Useful for reducing errors in 7 0111 0100
communication 8 1000 1100
9 1001 1101
● Can be scaled to larger 10 1010 1111
numbers 11 1011 1110
12 1100 1010
13 1101 1011
14 1110 1001
15 1111 1000
27
Text: ASCII Characters
 ASCII: Maps 128 characters to 7-bit code.
 both printable and non-printable (ESC, DEL, …)
characters
00 http://www.asciitable.com/
nul10 dle20 sp 30 0 40 @ 50 P 60 ` 70 p
01 soh11 dc121 ! 31 1 41 A 51 Q 61 a 71 q
02 stx12 dc222 " 32 2 42 B 52 R 62 b 72 r
03 etx13 dc323 # 33 3 43 C 53 S 63 c 73 s
04 eot14 dc424 $ 34 4 44 D 54 T 64 d 74 t
05 enq15 nak25 % 35 5 45 E 55 U 65 e 75 u
06 ack16 syn26 & 36 6 46 F 56 V 66 f 76 v
07 bel17 etb27 ' 37 7 47 G 57 W 67 g 77 w
08 bs 18 can28 ( 38 8 48 H 58 X 68 h 78 x
09 ht 19 em 29 ) 39 9 49 I 59 Y 69 i 79 y
0a nl 1a sub2a * 3a : 4a J 5a Z 6a j 7a z
0b vt 1b esc2b + 3b ; 4b K 5b [ 6b k 7b {
0c np 1c fs 2c , 3c < 4c L 5c \ 6c l 7c |
0d cr 1d gs 2d - 3d = 4d M 5d ] 6d m 7d }
0e so 1e rs 2e . 3e > 4e N 5e ^ 6e n 7e ~
0f si 1f us 2f / 3f ? 4f O 5f _ 6f o 7f del
28

You might also like