250 likes | 323 Views
Computer Science 210 Computer Organization. Number Systems. People. Decimal Numbers (base 10) Sign-Magnitude (-324) Decimal Fractions (23.27) Letters for text. Computers. Binary Numbers (base 2) Sign-magnitude Binary fractions and floating point ASCII codes for characters (A 65).
E N D
Computer Science 210Computer Organization Number Systems
People • Decimal Numbers (base 10) • Sign-Magnitude (-324) • Decimal Fractions (23.27) • Letters for text
Computers • Binary Numbers (base 2) • Sign-magnitude • Binary fractions and floating point • ASCII codes for characters (A65)
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, ...
Decimal: Non-negatives • Base 10 • Uses decimal digits: 0, 1, . . ., 9 • Positional System - position gives power • Example: 3845 = 3x103 + 8x102 + 4x101 + 5x100 • Positions: …543210
Binary: Non-negatives • Base 2 • Uses binary digits (bits): 0,1 • Positional system • Example: 1101 = 1x23 + 1x22 + 0x21 + 1x20
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.
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
Decimal to Binary - Algorithm 1 • Algorithm: While N 0 do Set N to N/2 (whole part) Record the remainder (1 or 0) Set A to remainders in reverse order
Decimal to binary - Example • Example: Convert 32410 to binary N Rem N Rem 324 162 0 5 0 81 0 2 1 40 1 1 0 20 0 0 1 10 0 • 32410 = 1010001002
Decimal to Binary - Algorithm 2 • Algorithm: Set A to 0 (all bits 0) While N 0 do Find largest P with 2P N Set bit in position P of A to 1 Set N to N - 2P
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
Binary Addition • One bit numbers:+ 0 1 0 | 0 1 1 | 1 10 • Example 1111 1 110101 (53)+ 101101 (45) 1100010 (98)
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.
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.
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
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.
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
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
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
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
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 positivesNo additional hardware for negatives, and subtraction. • One representation of 0
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
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
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