number systems computer science 210 computer organization

25
Number Systems Computer Science 210 Computer Organization

Upload: augustine-cummings

Post on 23-Dec-2015

244 views

Category:

Documents


9 download

TRANSCRIPT

Page 1: Number Systems Computer Science 210 Computer Organization

Number Systems

Computer Science 210Computer Organization

Page 2: Number Systems Computer Science 210 Computer Organization

People

• Decimal Numbers (base 10)

• Sign-Magnitude (-324)

• Decimal Fractions (23.27)

• Letters for text

Page 3: Number Systems Computer Science 210 Computer Organization

Computers

• Binary Numbers (base 2)

• Sign-magnitude

• Binary fractions and floating point

• ASCII codes for characters (A65)

Page 4: Number Systems Computer Science 210 Computer Organization

Why binary?

• Information is stored in computer via voltage levels.

• Using decimal would require 10 distinct and reliable levels for each digit.

• This is not feasible with reasonable reliability and financial constraints.

• Everything in computer is stored using bits: numbers, text, programs, pictures, sounds, videos, ...

Page 5: Number Systems Computer Science 210 Computer Organization

Decimal: Non-negatives

• Base 10

• Uses decimal digits: 0, 1, . . ., 9

• Positional System - position gives power

• Example:3845 = 3x103 + 8x102 + 4x101 + 5x100

• Positions: …543210

Page 6: Number Systems Computer Science 210 Computer Organization

Binary: Non-negatives

• Base 2

• Uses binary digits (bits): 0,1

• Positional system

• Example:1101 = 1x23 + 1x22 + 0x21 + 1x20

Page 7: Number Systems Computer Science 210 Computer Organization

Conversions

• External Internal(For people) (For computer) 25 11001 A 01000001

• People want to see and enter numbers in decimal.

• Computers must store and compute with bits.

Page 8: Number Systems Computer Science 210 Computer Organization

Binary to Decimal Conversion

• Algorithm:– Expand binary number using positional scheme.– Perform computation using decimal arithmetic.

• Example:110012 1x24 + 1x23 + 0x22 + 0x21 + 1x20

= 24 + 23 + 20

= 16 + 8 + 1 = 2510

Page 9: Number Systems Computer Science 210 Computer Organization

Decimal to Binary - Algorithm 1

• Algorithm:

While N 0 doSet N to N/2 (whole part)Record the remainder (1 or 0)

Set A to remainders in reverse order

Page 10: Number Systems Computer Science 210 Computer Organization

Decimal to binary - Example

• Example: Convert 32410 to binary N Rem N Rem324162 0 5 0 81 0 2 1 40 1 1 0 20 0 0 1 10 0

• 32410 = 1010001002

Page 11: Number Systems Computer Science 210 Computer Organization

Decimal to Binary - Algorithm 2

• Algorithm:

Set A to 0 (all bits 0)While N 0 do

Find largest P with 2P NSet bit in position P of A to 1Set N to N - 2P

Page 12: Number Systems Computer Science 210 Computer Organization

Decimal to binary - Example

• Example: Convert 32410 to binary N Power P A . 324 256 8 100000000 68 64 6 101000000 4 4 2 101000100

0

• 32410 = 1010001002

Page 13: Number Systems Computer Science 210 Computer Organization

Binary Addition• One bit numbers:

+ 0 1 0 | 0 1 1 | 1 10

• Example 1111 1

110101 (53) + 101101 (45) 1100010 (98)

Page 14: Number Systems Computer Science 210 Computer Organization

Overflow

• In a given type of computer, the size of integers is a fixed number of bits.

• 16 or 32 bits are popular choices• It is possible that addition of two n bit

numbers yields a result requiring n+1 bits.• Overflow is the term for an operation whose

results exceeds the size allowed for a number.

Page 15: Number Systems Computer Science 210 Computer Organization

Negatives: Sign-Magnitude• With a fixed number of bits, say N

– The leftmost bit is used to give the sign• 0 for positive number• 1 for negative number

– The other N-1 bits are for the magnitude

• Example: -25 with 8 bit numbers– Sign: 1 since negative– Magnitude: 11001 for 25– 8-bit result: 10011001

• Note: This would be 153 as a positive.

Page 16: Number Systems Computer Science 210 Computer Organization

Ranges for N-bit numbers• Unsigned (positive)

– 0000…00 or 0– 1111…11 which is 2N-1 – For N=8, 0 - 255

• Sign-magnitude– 1111…11 which is -(2N-1-1)– 0111…11 which is 2N-1-1– For N=8, -127 to 127

• 2’s Complement– 1000…00 which is -2N-1

– 0111…11 which is 2N-1 - 1– For N=8, -128 to 127

Page 17: Number Systems Computer Science 210 Computer Organization

Octal Numbers

• Base 8 Digits 0,1,2,3,4,5,6,7

• Not so many digits as binary

• Easy to convert to and from binary

• Often used by people who need to see the internal representation of data, programs, etc.

Page 18: Number Systems Computer Science 210 Computer Organization

Octal Conversions• Octal to Binary

– Simply convert each octal digit to a three bit binary number.

– Example: 5368 = 101 011 1102

• Binary to Octal– Starting at right, group into 3 bit groups– Convert each group to an octal digit– Example

110111111010102 = 011 011 111 101 010 = 337528

Page 19: Number Systems Computer Science 210 Computer Organization

Hexadecimal

• Base 16 Digits 0,…,9,A,B,C,D,E,F• Hexadecimal Binary

– Just like Octal, only use 4 bits per digit.

• Example:98C316 = 1001 1000 1100 00112

• Example110100111010112 = 0011 0100 1110 1011

= 34EB

Page 20: Number Systems Computer Science 210 Computer Organization

Sign-Magnitude: Pros and Cons

• Pro: – Easy to comprehend– Easy to convert

• Con:– Addition complicated (expensive)

If signs same then…

else if positive part larger …– Two representations of 0

Page 21: Number Systems Computer Science 210 Computer Organization

Negatives: Two’s complement

• With N bit numbers, to compute negative– Invert all the bits– Add 1

• Example: -25 in 8-bit two’s complement– 25 00011001– Invert bits: 11100110– Add 1: 1

11100111

Page 22: Number Systems Computer Science 210 Computer Organization

2’s Complement: Pros and Cons

• Con: – Not so easy to comprehend– Human must convert negative to identify

• Pro:– Addition is exactly same as for positives

No additional hardware for negatives, and subtraction.

– One representation of 0

Page 23: Number Systems Computer Science 210 Computer Organization

2’s Complement: Examples• Compute negative of -25 (8-bits)

– We found -25 to be 11100111– Invert bits: 00011000– Add 1: 00011001– Recognize this as 25 in binary

• Add -25 and 37 (8-bits)– 11100111 (-25)

+ 00100101 ( 37) (1)00001100

– Recognize as 12

Page 24: Number Systems Computer Science 210 Computer Organization

Facts about 2’s Complement

• Leftmost bit still tells whether number is positive or negative as with sign-magnitude

• 2’s complement is same as sign magnitude for positives

Page 25: Number Systems Computer Science 210 Computer Organization

2’s complement to decimal (examples)

• Assume 8-bit 2’s complement:– X = 11011001

-X = 00100110 + 1 = 00100111 = 32+4+2+1 = 39 (decimal) So, X = -39

– X = 01011001Since X is positive, we have X = 64+16+8+1 = 89