Chapter 1 Number Systems, Number Representations, and Codes

Slides:



Advertisements
Similar presentations
Chapter 1 Digital Systems and Numbers System
Advertisements

CHAPTER 2 Number Systems, Operations, and Codes
Chapter 1 Binary Systems 1-1. Digital Systems
Digital Fundamentals Floyd Chapter 2 Tenth Edition
EECC341 - Shaaban #1 Lec # 3 Winter Binary Multiplication Multiplication is achieved by adding a list of shifted multiplicands according.
VIT UNIVERSITY1 ECE 103 DIGITAL LOGIC DESIGN CHAPTER I NUMBER SYSTEMS AND CODES Reference: M. Morris Mano & Michael D. Ciletti, "Digital Design", Fourth.
Digital Fundamentals Floyd Chapter 2 Tenth Edition
Error Detection and Correction
© 2009 Pearson Education, Upper Saddle River, NJ All Rights ReservedFloyd, Digital Fundamentals, 10 th ed Digital Fundamentals Tenth Edition Floyd.
Programmable Logic Controllers
CHAPTER 1 INTRODUCTION NUMBER SYSTEMS AND CONVERSION.
Logic Design Dr. Yosry A. Azzam. Binary systems Chapter 1.
Number systems & Binary codes MODULE 1 Digital Logic Design Ch1-2 Outline of Chapter 1  1.1 Digital Systems  1.2 Binary Numbers  1.3 Number-base Conversions.
CHAPTER 1 INTRODUCTION NUMBER SYSTEMS AND CONVERSION
1 EENG 2710 Chapter 1 Number Systems and Codes. 2 Chapter 1 Homework 1.1c, 1.2c, 1.3c, 1.4e, 1.5e, 1.6c, 1.7e, 1.8a, 1.9a, 1.10b, 1.13a, 1.19.
Error Detection and Correction
Computer Math CPS120 Introduction to Computer Science Lecture 4.
Lecture 5 Checksum. 10.2CHECKSUM Checksum is an error-detecting technique that can be applied to a message of any length. In the Internet, the checksum.
Lecture Focus: Data Communications and Networking  Data Link Layer  Error Control Lecture 19 CSCS 311.
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Digital Fundamentals Tenth Edition Floyd Chapter 2 © 2008 Pearson Education.
MECH1500 Chapter 3.
Chapter 1: Binary Systems
©2010 Cengage Learning SLIDES FOR CHAPTER 1 INTRODUCTION NUMBER SYSTEMS AND CONVERSION Click the mouse to move to the next page. Use the ESC key to exit.
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Computer Math CPS120 Introduction to Computer Science Lecture 7.
Number Systems. The position of each digit in a weighted number system is assigned a weight based on the base or radix of the system. The radix of decimal.
CS2100 Computer Organisation
Unit 1 Introduction Number Systems and Conversion.
Chapter 1 Digital Systems and Binary Numbers
COMPUTER ARITHMETIC Arithmetic with Signed-2's Complement Numbers
Simple Parity Check The simplest form of error detection is the parity check used with ASCII codes, originally on asynchronous modem links Each 7 bit ASCII.
Number Systems & Binary Arithmetic
CHAPTER 1 INTRODUCTION NUMBER SYSTEMS AND CONVERSION
Lec 3: Data Representation
CS2100 Computer Organisation
EI205 Lecture 2 Dianguang Ma Fall, 2008.
Lecture No. 4 Number Systems
Digital Systems and Number Systems
CHAPTER 1 INTRODUCTION TO DIGITAL LOGIC
CHAPTER 1 INTRODUCTION NUMBER SYSTEMS AND CONVERSION
Chapter 2 Data Types and Representations
Dr. Clincy Professor of CS
CIS 321 Data Communications & Networking
CSCE 211: Digital Logic Design
Digital Systems and Binary Numbers
Introduction The term digital is derived from the way computers perform operation, by counting digits. Application of digital technology: television, communication.
Chapter 3 Data Representation
Part III Datalink Layer 10.
Chapter 1 Digital Systems and Binary Numbers
CS1010 Programming Methodology
Wakerly Section 2.4 and further
BEE1244 Digital System and Electronics BEE1244 Digital System and Electronic Chapter 2 Number Systems.
INTRODUCTION TO LOGIC DESIGN Chapter 1 Digital Systems and Binary Numbers gürtaçyemişçioğlu.
University of Maryland
CSCE 211: Digital Logic Design
Digital Logic & Design Lecture 03.
CSCE 211: Digital Logic Design
Chapter 7 Error Detection and Correction
CSCE 211: Digital Logic Design
Digital Logic & Design Lecture 02.
Digital Logic Design (ECEg3141) 2. Number systems, operations & codes 1.
CSCE 211: Digital Logic Design
Chapter Nine: Data Transmission
Chapter 1 Number System RGGP, Narwana.
Overview Part 1 – Design Procedure Part 2 – Combinational Logic
Error Detection and Correction
CHAPTER 69 NUMBER SYSTEMS AND CODES
Presentation transcript:

Chapter 1 Number Systems, Number Representations, and Codes

Table 1 Counting Sequence for Different Radices 1.1 Number Systems Decimal r=2 r=4 r=8 1 2 10 3 11 4 100 5 101 6 110 12 7 111 13 8 1000 20 Table 1 Counting Sequence for Different Radices

1.1.1 Binary Number System The radix is 2 in the binary number system; therefore, only two digits are used: 0 and 1. The weight assigned to each position of a binary number is as follows: 2n-1 2n-2...23222120.2-12-22-3...2-m 1 0 1 1 . 1 0 12 = (1 × 23)+(0 × 22) +(1 × 21) +(1 × 20) + (1 × 2-1) +(0 × 2-2) +(1 × 2-3) = 11.62510

Table 2 Counting in Binary A binary number is a group of n bits that can assume 2n different combinations of the n bits. The range for n bits is 0 to 2n -1. Table 2 shows the weight associated with each of the four binary positions. Decimal Binary 8 4 2 1 23 22 21 20 3 5 6 7 Decimal Binary 8 4 2 1 23 22 21 20 9 10 11 12 13 14 15 Table 2 Counting in Binary

Table 3 Counting in Octal 1.1.2 Octal Number System The radix is 8 in the octal number system; therefore, eight digits are used, 0 through 7. Decimal Octal 64 8 1 82 81 80 2 3 4 5 6 7 Decimal Octal 64 8 1 82 81 80 9 ... 14 6 84 2 4 242 3 Table 3 Counting in Octal

Table 4 Binary-Coded Octal Numbers Decimal Octal Binary-Coded Octal 000 1 001 2 010 3 011 4 100 5 101 6 110 7 111 8 10 9 11 12 ... 20 24 145 267 413 Table 4 Binary-Coded Octal Numbers

Table 5 Binary-Coded Decimal Numbers 1.1.3 Decimal Number System The radix is 10 in the decimal number system; therefore, ten digits are used, 0 through 9. Decimal Binary-Coded Octal 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 1000 9 1001 10 ... 124 365 Binary-coded decimal Each decimal digit can be encoded into a corresponding binary number; however, only ten decimal digits are valid. Therefore, four binary digits are required to represent each decimal digit. Table 5 Binary-Coded Decimal Numbers

Binary-coded hexadecimal 1.1.4 Hexadecimal Number System The radix is 16 in the hexadecimal number system. Decimal Hexadecimal Binary-Coded Octal 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 1000 9 1001 10 A 1010 11 B 1011 12 C 1100 13 D 1101 14 E 1110 15 F 1111 Binary-coded hexadecimal All 24 values of the four binary bits are used to represent the 16 hexadecimal digits. Each hexadecimal digit corresponds to a 4-bit binary number as shown in Table 6. Table 6 BCH Numbers

1.1.5 Arithmetic Operations Radix 2 Addition and carry 1 to the next column Example: carries

Radix 2 Subtraction and borrow 1 from the next column Example: (indicates a borrow From the 3rd column) borrows

Radix 2 Multiplication Multiply: 13 x11(10) multiplicand multiplier first partial product second partial product sum of first two partial products third partial product sum after adding third partial product fourth partial product final product (sum after adding fourth partial prodoct)

Radix 2 Division The quotient is 1101 with a remainder of 10.

1.1.6 Conversion Between Radices Convert from radix ri to any other radix rj 1259 =(1×92) +(2×91)+(5×90)=10410 Convert 10410 to radix 7. 104 ÷7 = quotient = 14, remainder=6 (6 is the low-order digit) 14 ÷ 7 = quotient = 2, remainder=0 2 ÷ 7 = quotient = 0, remainder=2 Verify the answer 1259 = 2067 = (2×72) + (0×71) + (6×70) = 10410

Octal to hexadecimal To convert from octal to hexadecimal, the octal number is first converted to BCO then partitioned into 4-bit segments to form binary-coded hexadecimal(BCH). The BCH notation is then easily changed to hexadecimal, as shown below. 7 6 3 5 . 4 1 F 9 D 8

1.2 Number Representations The leftmost(high-order) digit is usually reserved for the sign of the number. A = (an-1an-2an-3...a2a1a0)r where digit an-1 has the following value: 0 if A≥0 r-1 if A<0 A =

1.2.1 Sign Magnitude A = (0an-2an-3 ... a1a0)r A'= [(r -1)an-2an-3 ... a1a0]r There are two problems with sign-magnitude representation. First, there are two representations for the number 0; specifically +0 and -0; ideally there should be a unique representation for the number 0. Second, when adding two numbers of opposite signs, the magnitudes of the numbers must be compared to determine the sign of the result.

Examples 0 0 0 0 0 1 0 0 +4 1 0 0 0 0 1 0 0 −4 Magnitude Sign 0 0 0 0 0 1 0 0 +4 1 0 0 0 0 1 0 0 −4 Magnitude Sign 0 0 0 0 1 1 0 1 . 1 0 1 +13.625 1 0 0 0 1 1 0 1 . 1 0 1 −13.625 Radix 10 0 7 4 3 +743 9 7 4 3 −743

1.2.2 Diminished-Radix Complement A = (0an-2an-3 ... a1a0)r A'= [(r−1)an-2'an-3' ... a1'a0']r (ai' = (r − 1) −ai ) Positive integers: 0 to 2n−1−1 Negative integers: 0 to −(2n−1−1) 27 26 25 24 23 22 21 20 0 0 1 1 1 1 0 0 +6010 1 1 0 0 0 0 1 1 −6010

Number Representation Diminished-radix complement A = (0an-2an-3 ... a1a0)r (A')+1= {[(r−1)an-2'an-3' ... a1'a0']+1}r Number Representation Positive Numbers Negative Numbers Sign magnitude 0an-2an-3 ... a1a0)r (r -1)an-2an-3 ... a1a0 Diminished-radix complement (r− 1)an-2'an-3' ... a1'a0' Radix complement (r− 1)an-2'an-3' ... a1'a0'+1 Table 8 Number Representations for Positive and Negative Integers of the Same Absolute Value for Radix r

1.2.4 Arithmetic Operations Binary Addition Overflow A = an-1an-2an-3 ... a1a0 B = bn-1bn-2bn-3 ... b1b0 Overflow = (an-1• bn-1 • sn-1') + (an-1' • bn-1' • sn-1) Overflow = cn-1⊕cn-2=(cn-1• cn-2') +(cn-1'• cn-2) “•” -----logical AND “+”-----logical OR “⊕”-----exclusive-OR Cn-1 and Cn-2 are the carry bits out of positions n − 1 and n − 2, respectively.

Binary subtraction A = Minuend − ) B = Subtrahend Difference Difference = A − B = A − rn + rn − B = A − rn + (rn − B) = A − rn + (B' +1)

Binary multiplication A = an-1an-2an-3 ... a1a0 B = bn-1bn-2bn-3 ... b1b0 Product of A×B =p2n-1p2n-2p2n-3 ... p1 p0 A = Multiplicand (n bits) ×) B = Multiplier (n bits) P = Product (2n bits)

Example 0 1 1 1 (+7) ×) 0 1 0 1 (+5) 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 0 0 0 1 1 (+35)

Binary division Dividend = ( Quotient × Divisor ) + Remainder A = a2n-1a2n-2 ... anan-1 ... a1a0 (Dividend) B = bn-1bn-2bn-3 ... b1b0 (Divisor) Q = qn-1qn-2...q1q0 R = rn-1rn-2 ... r1r0 qn-1 = a2n-1 ⊕ bn-1

Table 9 Examples of Binary Codes for Decimal Digits 1.3.1 Binary Weighted and Nonweighted Codes Table 9 Examples of Binary Codes for Decimal Digits

1.3.2 Binary-to-BCD Conversion BCD digits in the range 0-4 do not require an adjustment after being shifted left, because the shifted number will be in the range 0-8, which can be contained in a 4-bit BCD digit. If the number to be shifted is in the range 5-9, then an adjustment will be required after the left shift, because the shifted number will be in the range 10-18, which requires two BCD digits.

Figure 1 Example of binary-to-BCD conversion

1.3.3 BCD-to-Binary Conversion In general, if the high-order bit in any decade is a 1 after the shift-right operation, then a value of 3 must be subtracted from the decade.

Table 10 Binary 8421 Code and the Gray Code ←y4 is reflected ← y3 and y4 are reflected ← y2, y3 and y4 are reflected Table 10 Binary 8421 Code and the Gray Code

Binary-to-Gray code conversion Where b0 and g0 are the low-order bits of the binary and Gray codes, respectively. The ith Gray code bit gi can be obtained from the corresponding binary code word by the following algorithm: gn-1 = bn-1 gi = bi ⊕ bi+1

Gray-to-binary code conversion Where b0 and g0 are the low-order bits of the binary and Gray codes, respectively. bn-1 = gn-1 bi = bi+1 ⊕ g Example g3g2g1g0 = 1001 b3 = g3 =1 b2 = b3 ⊕ g2 = 1 ⊕ 0 = 1 b1 = b2 ⊕ g1 = 1 ⊕ 0 = 1 b0 = b1 ⊕ g0 = 1 ⊕ 1 = 0

1.4 Error Detection and Correction Code 1.4.1 Parity An extra bit can be added to a message to make the overall parity of the code word either odd or even. The number of 1s in the code word −message bits plus parity bit. Parity bit(even) = m3 ⊕ m2 ⊕ m1 ⊕ m0

Table 11 Parity Bit Generation

When a word is to be transmitted, the parity bit is generated (PG) and the nine bits are transmitted along the 9-bit parallel bus. At the receiving end, the parity of the word is checked (PC) and the parity bit is removed. The parity generator and parity checker are both implemented using modulo-2 addition.

Code word X =x1,x2, ………, xm, xm+1, … , xn 1.4.2 Hamming Code The Hamming code can be considered as an extension of the parity code presented in the previous section, because multiple parity bits provide parity for subsets of the message bits. Code word X =x1,x2, ………, xm, xm+1, … , xn

Figure 2 Possible track format for a disk drive 1.4.3 Cyclic Redundancy Check Code A class of codes has been developed specifically for serial data transfer called cyclic redundancy check (CRC) codes. Figure 2 Possible track format for a disk drive

Figure 3 One frame of the synchronous data link control format. The first field is the flag field, which is a delimiter indicating the beginning of block. This is followed by an address field, which is decoded by all receivers, then a control field, indicating frame number, last frame, and other control information. The text field contains n bits of serial data followed by a 16-bit CRC character. Figure 3 One frame of the synchronous data link control format.

Figure 4 Checksum generated for a 4-byte message. The checksum is the sum derived from the application of an algorithm that is calculated before and after transmission to ensure that the data is free from errors. Figure 4 Checksum generated for a 4-byte message.

Table 12 Two-out-of-Five Code for the Decimal Digits The two-out-of-five code is 5-bit nonweighted code that is characterized by having exactly two 1s and three 0s in any code word. Table 12 Two-out-of-Five Code for the Decimal Digits

1.4.6 Horizontal and Vertical Parity Check An alternative method to Hamming code for smaller memories − which has less redundancy − is a technique using horizontal and vertical parity. Horizontal parity utilizes an odd parity bit for each word in memory. Vertical parity is the modulo-2 addition of identical bit positions of each word in a block of memory.

Figure 5 Ten-word memory to illustrate single-error detection and correction using horizontal and vertical parity

Example Assume that word four has an error in bit position four such that word four changes from 0111 1010 0 to 0110 1010 0, which is incorrect for odd parity. As another example, assume that word seven has an error in bit position two such that word seven changes from 0011 0110 1 to 0011 0010 1, which is incorrect for odd parity.

1.5 Serial Data Transmission There are two basic types of serial communication: synchronous and asynchronous. In synchronous communication, information is transferred using a self-clocking scheme; that is, the clock is synchronized to the data, which determines the rate of transfer. In asynchronous communication, the timing occurs for each character. The communications line for asynchronous serial data transfer is in an idle state (a logic 1 level) when characters are not being transmitted.

Figure 6 Asynchronous serial data transfer for the ASCII character W.