Unformatted text preview:

inst eecs berkeley edu cs61c CS61C Machine Structures Lecture 2 Number Representation 2007 01 25 There are two handouts today at the front and back of the room Lecturer SOE Dan Garcia www cs berkeley edu ddgarcia Great book The Universal History of Numbers by Georges Ifrah CS61C L02 Number Representation 1 Garcia Spring 2008 UCB Review Continued rapid improvement in computing 2X every 2 0 years in memory size every 1 5 years in processor speed every 1 0 year in disk capacity Moore s Law enables processor 2X transistors chip 1 5 yrs 5 classic components of all computers Control Datapath Memory Input Output Processor CS61C L02 Number Representation 2 Garcia Spring 2008 UCB Putting it all in perspective If the automobile had followed the same development cycle as the computer a Rolls Royce would today cost 100 get a million miles per gallon and explode once a year killing everyone inside Robert X Cringely CS61C L02 Number Representation 3 Garcia Spring 2008 UCB Decimal Numbers Base 10 Digits 0 1 2 3 4 5 6 7 8 9 Example 3271 3x103 2x102 7x101 1x100 CS61C L02 Number Representation 4 Garcia Spring 2008 UCB Numbers positional notation Number Base B B symbols per digit Base 10 Decimal 0 1 2 3 4 5 6 7 8 9 Base 2 Binary 0 1 Number representation d31d30 d1d0 is a 32 digit number value d31 B31 d30 B30 d1 B1 d0 B0 Binary 0 1 In binary digits called bits 0b11010 1 24 1 23 0 22 1 21 0 20 s often written 16 8 2 26 0b Here 5 digit binary turns into a 2 digit decimal Can we find a base that converts to binary easily CS61C L02 Number Representation 5 Garcia Spring 2008 UCB Hexadecimal Numbers Base 16 Hexadecimal 0 1 2 3 4 5 6 7 8 9 A B C D E F Normal digits 6 more from the alphabet In C written as 0x e g 0xFAB5 Conversion Binary Hex 1 hex digit represents 16 decimal values 4 binary digits represent 16 decimal values 1 hex digit replaces 4 binary digits One hex digit is a nibble Two is a byte 2 bits is a half nibble Shave and a haircut Example 1010 1100 0011 binary 0x CS61C L02 Number Representation 6 Garcia Spring 2008 UCB Decimal vs Hexadecimal vs Binary Examples 1010 1100 0011 binary 0xAC3 10111 binary 0001 0111 binary 0x17 0x3F9 11 1111 1001 binary How do we convert between hex and Decimal MEMORIZE CS61C L02 Number Representation 7 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 0 1 2 3 4 5 6 7 8 9 A B C D E F 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 Garcia Spring 2008 UCB What to do with representations of numbers Just what we do with numbers Add them Subtract them Multiply them Divide them Compare them Example 10 7 17 1 1 1 0 1 0 0 1 1 1 1 0 0 0 1 so simple to add in binary that we can build circuits to do it subtraction just as you would in decimal Comparison How do you tell if X Y CS61C L02 Number Representation 8 Garcia Spring 2008 UCB BIG IDEA Bits can represent anything Characters 26 letters 5 bits 25 32 upper lower case punctuation 7 bits in 8 ASCII standard code to cover all the world s languages 8 16 32 bits Unicode www unicode com Logical values 0 False 1 True colors Ex Red 00 Green 01 Blue 11 locations addresses commands MEMORIZE N bits at most 2N things CS61C L02 Number Representation 9 Garcia Spring 2008 UCB How to Represent Negative Numbers So far unsigned numbers Obvious solution define leftmost bit to be sign 0 1 Rest of bits can be numerical value of number Representation called sign and magnitude MIPS uses 32 bit integers 1ten would be 0000 0000 0000 0000 0000 0000 0000 0001 And 1ten in sign and magnitude would be 1000 0000 0000 0000 0000 0000 0000 0001 CS61C L02 Number Representation 10 Garcia Spring 2008 UCB Shortcomings of sign and magnitude Arithmetic circuit complicated Special steps depending whether signs are the same or not Also two zeros 0x00000000 0ten 0x80000000 0ten What would two 0s mean for programming Therefore sign and magnitude abandoned CS61C L02 Number Representation 11 Garcia Spring 2008 UCB Another try complement the bits 710 001112 710 110002 Example Called One s Complement Note positive numbers have leading 0s negative numbers have leadings 1s 00000 00001 01111 10000 11110 11111 What is 00000 Answer 11111 How many positive numbers in N bits How many negative numbers CS61C L02 Number Representation 12 Garcia Spring 2008 UCB Shortcomings of One s complement Arithmetic still a somewhat complicated Still two zeros 0x00000000 0ten 0xFFFFFFFF 0ten Although used for awhile on some computer products one s complement was eventually abandoned because another solution was better CS61C L02 Number Representation 13 Garcia Spring 2008 UCB Standard Negative Number Representation What is result for unsigned numbers if tried to subtract large number from a small one Would try to borrow from string of leading 0s so result would have a string of leading 1s 3 4 00 0011 00 0100 11 1111 With no obvious better alternative pick representation that made the hardware simple As with sign and magnitude leading 0s positive leading 1s negative 000000 xxx is 0 111111 xxx is 0 except 1 1111 is 1 not 0 as in sign mag This representation is Two s Complement CS61C L02 Number Representation 14 Garcia Spring 2008 UCB 2 s Complement Number line N 5 11111 00000 00001 2N 1 non11110 00010 negatives 0 1 1 11101 2 3 11100 4 2 2N 1 negatives one zero how many positives 15 16 15 10001 10000 01111 00000 10000 11110 11111 CS61C L02 Number Representation 15 00001 01111 Garcia Spring 2008 UCB Two s Complement Formula Can represent positive and negative numbers in terms of the bit value times a power of 2 d31 x 231 d30 x 230 d2 x 22 d1 x 21 d0 x 20 Example 1101two 1x 23 1x22 0x21 1x20 23 22 0 20 8 4 0 1 8 5 3ten CS61C L02 Number Representation 16 Garcia Spring 2008 UCB Two s Complement shortcut Negation Check out www cs berkeley edu dsw twos complement html Change every 0 to 1 and 1 to 0 invert or complement then add 1 to the result Proof Sum of number and its one s complement must be 111 111two However 111 111two 1ten Let x one s complement representation of x Then x x 1 x x 1 0 x x 1 Example 3 to 3 to 3 x 1111 1111 1111 1111 1111 1111 1111 1101 two x 0000 0000 0000 0000 0000 0000 0000 0010 two 1 0000 0000 0000 0000 0000 0000 0000 0011 two 1111 1111 1111 1111 1111 1111 1111 1100 two 1 1111 1111 1111 1111 1111 1111 1111 1101 two You should be …


View Full Document

Berkeley COMPSCI 61C - Lecture 2 – Number Representation

Documents in this Course
SIMD II

SIMD II

8 pages

Midterm

Midterm

7 pages

Lecture 7

Lecture 7

31 pages

Caches

Caches

7 pages

Lecture 9

Lecture 9

24 pages

Lecture 1

Lecture 1

28 pages

Lecture 2

Lecture 2

25 pages

VM II

VM II

4 pages

Midterm

Midterm

10 pages

Load more
Loading Unlocking...
Login

Join to view Lecture 2 – Number Representation and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Lecture 2 – Number Representation and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?