Top Banner
Chapter 1 Representing Data in a Computer
28

Chapter 1 Representing Data in a Computer

Jan 01, 2016

Download

Documents

jordan-savage

Chapter 1 Representing Data in a Computer. 1.1 Binary and Hexadecimal Numbers. Decimal Numbers. Base 10 4053 = 3 x 1 + 5 x 10 + 0 x 10 2 + 4 x 10 3. 1s. 10s. 100s. 1000s. Binary Numbers. Base 2, using bits (binary digits) 0 and 1 - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Chapter 1 Representing Data in a Computer

Chapter 1Representing Data in a Computer

Page 2: Chapter 1 Representing Data in a Computer

1.1 Binary and Hexadecimal Numbers

Page 3: Chapter 1 Representing Data in a Computer

Decimal Numbers

Base 10

4053 = 3 x 1 + 5 x 10 + 0 x 102 + 4 x 103

1s

10s

100s

1000s

Page 4: Chapter 1 Representing Data in a Computer

Binary Numbers

Base 2, using bits (binary digits) 0 and 110111 = 1 x 1 + 1 x 2 + 1 x 22 + 0 x 23 + 1 x 24

1s

2s

4s

8s

16s

101112 = 2310

Page 5: Chapter 1 Representing Data in a Computer

Hexadecimal Numbers

• Base 16• Digits

– 0-9 same as decimal– A for 10– B for 11– C for 12– D for 13– E for 14– F for 15

Page 6: Chapter 1 Representing Data in a Computer

Hexadecimal to Decimal

Base 165CB = 11 x 1 + 12 x 16 + 5 x 162

1s

16s

256s

5CB16 = 148310

Page 7: Chapter 1 Representing Data in a Computer

Using Windows Calculator

Page 8: Chapter 1 Representing Data in a Computer

Converting decimal to hex

• Use a calculator that does hex calculationsor

• Use this algorithm

repeatdivide DecimalNumber by 16, getting Quotient and Remainder;Remainder (in hex) is the next digit (right to left);DecimalNumber := Quotient;

until DecimalNumber = 0;

Page 9: Chapter 1 Representing Data in a Computer

1.2 Character Codes

Page 10: Chapter 1 Representing Data in a Computer

Character Codes

• Letters, numerals, punctuation marks and other characters are represented in a computer by assigning a numeric value to each character

• The system commonly used with microcomputers is the American Standard Code for Information Interchange (ASCII)

Page 11: Chapter 1 Representing Data in a Computer

Examples of ASCII Codes

• Printable characters– Uppercase M codes as 4D16 = 10011012

– Lowercase m codes as 6D16 = 11011012

– Numeral 5 codes as 3516

– Space codes as 2016

• Control characters– Backspace codes as 0816

• Carriage return CR (0D16) and linefeed LF (0A16) together create a line break

Page 12: Chapter 1 Representing Data in a Computer

1.3 Unsigned and Signed Integers

Page 13: Chapter 1 Representing Data in a Computer

Standard Number Lengths

• Byte – 8 bits

• Word – 16 bits

• Doubleword – 32 bits

• Quadword – 64 bits

Page 14: Chapter 1 Representing Data in a Computer

Unsigned Representation

• Just binary in one of the standard lengths

• E47A is the word-length unsigned representation for the decimal number 58490

Page 15: Chapter 1 Representing Data in a Computer

Signed Representation

• 2’s complement representation used in 80x86

• One of the standard lengths• High-order (leading) bit gives sign

– 0 for positive– 1 for negative

• For a negative number, you must perform the 2’s complement operation to find the corresponding positive number

Page 16: Chapter 1 Representing Data in a Computer

2’s Complement Operation

• +/- button on many calculators

• Manually by subtracting from 100…0

• E47A represents a negative word-length signed number since E = 1110

• 10000 – E47A = 1B86 = 704610,so E47A is the 2’s complement signed representation for -7046

minus

Page 17: Chapter 1 Representing Data in a Computer

Multiple Interpretations

• One pattern of bits can have many different interpretations

• The word FE89 can be interpreted as– An unsigned number whose decimal value is

65513– A signed number whose decimal value is -375

Page 18: Chapter 1 Representing Data in a Computer

1.4 Integer Addition and Subtraction

Page 19: Chapter 1 Representing Data in a Computer

Addition

• Same for unsigned and 2’s complement signed numbers, but the results may be interpreted differently

• The two numbers will be byte-size, word-size, doubleword-size or quadword-size

• Add the bits and store the sum in the same length as the operands, discarding an extra bit (if any)

Page 20: Chapter 1 Representing Data in a Computer

Carry

• If the sum of two numbers is one bit longer than the operand size, the extra 1 is a carry (or carry out).

• A carry is discarded when storing the result, but we’ll see how the 80x86 CPU records it.

• For unsigned numbers, a carry means that the result was too large to be stored – the answer is wrong.

Page 21: Chapter 1 Representing Data in a Computer

Carry In• A 1 carried into the high-order (sign,

leftmost) bit position during addition is called a carry in.

• Byte-length example

1 1 1 1 1

1 1 1 0 0 1 1 1 E 7

+ 1 1 1 1 0 1 1 0 + F 6

1 1 1 0 1 1 1 0 1 1 DD

carry out

carry in

Page 22: Chapter 1 Representing Data in a Computer

Overflow• Overflow occurs when there is a carry in but no

carry out, or when there is a carry out but no carry in. It recorded by the CPU.

• If overflow occurs when adding two signed numbers, then the result will be incorrect.

• Word-length example– Overflow, so AC99 incorrect

if viewed as sum of signed numbers– No carry, so AC99 correct if

viewed as sum of unsigned numbers

483F+ 645A AC99

Page 23: Chapter 1 Representing Data in a Computer

Subtraction

• Take the 2’s complement of second number and add it to the first number

• Overflow occurs in subtraction if it occurs in the corresponding addition

• CF is set for a borrow in subtraction – when the second number is larger than the first as unsigned numbers. There is a borrow in subtraction when there is not a carry in the corresponding addition.

Page 24: Chapter 1 Representing Data in a Computer

1.5 Other Systems For Representing Numbers

Page 25: Chapter 1 Representing Data in a Computer

1’s complement

• Similar to 2’s complement but to negate a number you flip all its bits.

• The 1’s complement of 01110000 is 10001111

• 1’s complement rarely used for signed integers in modern systems

Page 26: Chapter 1 Representing Data in a Computer

Binary Coded Decimal

• BCD uses four bits to encode each decimal digit

• 479 could be encoded in two bytes as0000 0100 0111 1001

• The Intel architecture has only a few instructions to do arithmetic on BCD numbers

Page 27: Chapter 1 Representing Data in a Computer

Floating Point

• IEEE single precision is a popular 32-bit format– Write the number in base 2 “scientific

notation”– Sign bit (0 positive, 1 negative)– 8 bits for exponent (actual exponent plus a

bias of 127)– 23 bits for fraction (omitting the leading 1)

Page 28: Chapter 1 Representing Data in a Computer

Floating Point Example

• 78.37510 = 1001110.0112

• 1001110.0112 = 1.001110011 26

• 0 10000101 00111001100000000000000

sign+

exponent,127+6 in binary

fraction, with leading 1 removed and trailing 0’s added to make 23 bits