PowerPoint PresentationReviewPutting it all in perspective…What to do with representations of numbers?Which base do we use?BIG IDEA: Bits can represent anything!!How to Represent Negative Numbers?Shortcomings of sign and magnitude?Another try: complement the bitsShortcomings of One’s complement?Standard Negative Number Representation2’s Complement Number “line”: N = 5Two’s Complement for N=32Two’s Complement FormulaTwo’s Complement shortcut: NegationTwo’s comp. shortcut: Sign extensionWhat if too big?Preview: Signed vs. Unsigned VariablesNumber summary...Peer Instruction QuestionAdministriviaIntroduction to CDisclaimerCompilation : OverviewCompilation : AdvantagesCompilation : DisadvantagesC vs. Java™ Overview (1/2)C vs. Java™ Overview (2/2)C Syntax: Variable DeclarationsC Syntax: True or False?C syntax : flow controlC Syntax: mainAddress vs. ValuePointersSlide 35Slide 36Pointers and Parameter PassingSlide 38Slide 39Slide 40Peer Instruction AnswerAnd in conclusion…CS61C L2 Number Representation & Introduction to C (1)Beamer, Summer 2007 © UCBScott BeamerInstructorinst.eecs.berkeley.edu/~cs61c CS61C : Machine StructuresLecture #2 – Number Rep & Intro to C2007-06-26Google goes Green!!sfgate.comCS61C L2 Number Representation & Introduction to C (2)Beamer, Summer 2007 © UCBReview•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•Decimal for human calculations, binary for computers, hex to write binary more easilyProcessor}CS61C L2 Number Representation & Introduction to C (3)Beamer, Summer 2007 © UCBPutting 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. CringelyCS61C L2 Number Representation & Introduction to C (4)Beamer, Summer 2007 © UCBWhat 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•…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 ? 1 0 1 0+ 0 1 1 1-------------------------1 0 0 0 111CS61C L2 Number Representation & Introduction to C (5)Beamer, Summer 2007 © UCBWhich base do we use?•Decimal: great for humans, especially when doing arithmetic•Hex: if human looking at long strings of binary numbers, its much easier to convert to hex and look 4 bits/symbol•Terrible for arithmetic on paper•Binary: what computers use; you will learn how computers do +, -, *, /•To a computer, numbers always binary•Regardless of how number is written:•32ten == 3210 == 0x20 == 1000002 == 0b100000•Use subscripts “ten”, “hex”, “two” in book, slides when might be confusingCS61C L2 Number Representation & Introduction to C (6)Beamer, Summer 2007 © UCBBIG 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:•locations / addresses? commands?•MEMORIZE: N bits at most 2N thingsRed (00) Green (01) Blue (11)CS61C L2 Number Representation & Introduction to C (7)Beamer, Summer 2007 © UCBHow 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 0001CS61C L2 Number Representation & Introduction to C (8)Beamer, Summer 2007 © UCBShortcomings 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 abandonedCS61C L2 Number Representation & Introduction to C (9)Beamer, Summer 2007 © UCBAnother try: complement the bits•Example: 710 = 001112 -710 = 110002•Called One’s Complement•Note: positive numbers have leading 0s, negative numbers have leadings 1s.00000 00001 01111...111111111010000 ...•What is -00000 ? Answer: 11111•How many positive numbers in N bits?•How many negative ones?CS61C L2 Number Representation & Introduction to C (10)Beamer, Summer 2007 © UCBShortcomings 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 L2 Number Representation & Introduction to C (11)Beamer, Summer 2007 © UCBStandard 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 ComplementCS61C L2 Number Representation & Introduction to C (12)Beamer, Summer 2007 © UCB2’s Complement Number “line”: N = 5•2N-1 non-negatives •2N-1 negatives•one zero•how many positives?0000000001000101111111110100000111110001012-1-2-15-1615......-311101-41110000000 00001 01111...111111111010000 ...CS61C L2 Number Representation & Introduction to C (13)Beamer, Summer 2007 © UCBTwo’s Complement for N=32 0000 ... 0000 0000 0000 0000two = 0ten0000 ... 0000 0000 0000 0001two = 1ten0000 ... 0000 0000 0000 0010two = 2ten. . .0111 ... 1111 1111 1111 1101two = 2,147,483,645ten0111 ...
View Full Document