CS61C L02 Number Representation (1) Garcia, Spring 2010 © UCB Lecturer SOE Dan Garcia www.cs.berkeley.edu/~ddgarcia inst.eecs.berkeley.edu/~cs61c CS61C.

Slides:



Advertisements
Similar presentations
The Binary Numbering Systems
Advertisements

CS61C L02 Number Representation (1) Garcia, Spring 2005 © UCB Lecturer PSOE Dan Garcia inst.eecs.berkeley.edu/~cs61c CS61C.
CS 61C L02 Number Representation (1) Garcia, Spring 2004 © UCB Lecturer PSOE Dan Garcia inst.eecs.berkeley.edu/~cs61c CS61C.
COMP3221: Microprocessors and Embedded Systems--Lecture 1 1 COMP3221: Microprocessors and Embedded Systems Lecture 3: Number Systems (I)
COMP3221 lec05-numbers-I.1 Saeid Nooshabadi COMP 3221 Microprocessors and Embedded Systems Lecture 5: Number Systems – I
1 CSE1301 Computer Programming Lecture 29: Number Representation (Part 1)
CS 61C L03 Introduction to C (1)Harvey / Wawrzynek Fall 2003 © UCB 8/29/2003  Brian Harvey ( John Wawrzynek  (Warznek) (
CS 61C L02 Number Representation (1)Harvey / Wawrzynek Fall 2003 © UCB 8/27/2003  Brian Harvey ( John Wawrzynek  (Warznek) (
COMP3221 lec06-numbers-II.1 Saeid Nooshabadi COMP 3221 Microprocessors and Embedded Systems Lecture 6: Number Systems - II
CS61C L02 Number Representation (1) Garcia, Fall 2006 © UCB Lecturer SOE Dan Garcia inst.eecs.berkeley.edu/~cs61c CS61C.
The slides are modified from Dan Garcia,
CS 61C L02 Number Representation (1) Garcia, Spring 2004 © UCB Lecturer PSOE Dan Garcia inst.eecs.berkeley.edu/~cs61c CS61C.
Signed Numbers.
Machine Representation/Numbers Lecture 3 CS 61C Machines Structures Fall 00 David Patterson U.C. Berkeley
CS61C L2 Number Representation & Introduction to C (1) Chae, Summer 2008 © UCB Albert Chae Instructor inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures.
CS 61C L2 Introduction to C (1) A Carle, Summer 2006 © UCB inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures Lecture 2: Introduction To C
1 Binary Arithmetic, Subtraction The rules for binary arithmetic are: = 0, carry = = 1, carry = = 1, carry = = 0, carry =
CS61C L2 Number Representation & Introduction to C (1) Garcia, Fall 2005 © UCB Lecturer PSOE, new dad Dan Garcia inst.eecs.berkeley.edu/~cs61c.
1 CSE1301 Computer Programming Lecture 28 Number Representation (Integer)
CS61C L02 Number Representation (1) Garcia, Spring 2007 © UCB Lecturer SOE Dan Garcia inst.eecs.berkeley.edu/~cs61c CS61C.
Number Representation (1) Fall 2005 Lecture 12: Number Representation Integers and Computer Arithmetic.
COMP3221 lec07-numbers-III.1 Saeid Nooshabadi COMP 3221 Microprocessors and Embedded Systems Lecture 7: Number Systems - III
Professor Jennifer Rexford COS 217
CS61C L2 Number Representation & Introduction to C (1) Beamer, Summer 2007 © UCB Scott Beamer Instructor inst.eecs.berkeley.edu/~cs61c CS61C : Machine.
CS61C L02 Number Representation (1) Garcia, Spring 2008 © UCB Lecturer SOE Dan Garcia inst.eecs.berkeley.edu/~cs61c CS61C.
Signed Numbers CS208. Signed Numbers Until now we've been concentrating on unsigned numbers. In real life we also need to be able represent signed numbers.
1 Binary Numbers Again Recall that N binary digits (N bits) can represent unsigned integers from 0 to 2 N bits = 0 to 15 8 bits = 0 to bits.
Binary Arithmetic Math For Computers.
+ CS 325: CS Hardware and Software Organization and Architecture Exam 1: Study Guide.
Lecture 2: Number Representation
ECE 2110: Introduction to Digital Systems Signed Number Conversions.
CSCI-365 Computer Organization Lecture Note: Some slides and/or pictures in the following are adapted from: Computer Organization and Design, Patterson.
CENG 311 Machine Representation/Numbers
(2.1) Fundamentals  Terms for magnitudes – logarithms and logarithmic graphs  Digital representations – Binary numbers – Text – Analog information 
CSCI 136 Lab 1 Outline Go through the CD attached to the textbook. Homework Hints 135 Review.
Lecture 5.
1 Modified from  Modified from 1998 Morgan Kaufmann Publishers Chapter Three: Arithmetic for Computers citation and following credit line is included:
IT253: Computer Organization
Computing Systems Basic arithmetic for computers.
Data Representation.
Computer Systems Organization CS 1428 Foundations of Computer Science.
+ CS 325: CS Hardware and Software Organization and Architecture Integers and Arithmetic Part 2.
BR 8/99 Binary Numbers Again Recall than N binary digits (N bits) can represent unsigned integers from 0 to 2 N bits = 0 to 15 8 bits = 0 to 255.
CSC 221 Computer Organization and Assembly Language
1 Data Representation Characters, Integers and Real Numbers Binary Number System Octal Number System Hexadecimal Number System Powered by DeSiaMore.
1 COMS 161 Introduction to Computing Title: The Digital Domain Date: September 6, 2004 Lecture Number: 6.
Computer Organization and Design Information Encoding II Montek Singh Wed, Aug 29, 2012 Lecture 3.
IT 251 Computer Organization and Architecture Number Representation Chia-Chi Teng.
Cs641 pointers/numbers.1 Overview °Stack and the Heap °malloc() and free() °Pointers °numbers in binary.
Monday, January 14 Homework #1 is posted on the website Homework #1 is posted on the website Due before class, Jan. 16 Due before class, Jan. 16.
CS1Q Computer Systems Lecture 2 Simon Gay. Lecture 2CS1Q Computer Systems - Simon Gay2 Binary Numbers We’ll look at some details of the representation.
1 IKI20210 Pengantar Organisasi Komputer Kuliah No. 23: Aritmatika 18 Desember 2002 Bobby Nazief Johny Moningka
CSE1301 Computer Programming Lecture 32: Number Representation
1 COMS 161 Introduction to Computing Title: Computing Basics Date: September 8, 2004 Lecture Number: 7.
Negative Integers Unsigned binary representation can not be used to represent negative numbers. With paper and pencil arithmetic, a number is made negative.
1 Digital Logic Design Engr. Kashif Shahzad. 2 What’s Course About?  Digital logic, focusing on the design of computers  Stay above transistor level.
EE204 L03-ALUHina Anwar Khan EE204 Computer Architecture Lecture 03- ALU.
Nguyen Le CS147.  2.4 Signed Integer Representation  – Signed Magnitude  – Complement Systems  – Unsigned Versus Signed Numbers.
ECE 3110: Introduction to Digital Systems Signed Number Conversions and operations.
IT 251 Computer Organization and Architecture Number Representation Chia-Chi Teng.
ECE 2110: Introduction to Digital Systems Signed Number Conversions.
David Kauchak CS 52 – Spring 2017
Negative Integers Unsigned binary representation can not be used to represent negative numbers. With paper and pencil arithmetic, a number is made negative.
March 2006 Saeid Nooshabadi
Subtraction The arithmetic we did so far was limited to unsigned (positive) integers. Today we’ll consider negative numbers and subtraction. The main problem.
EEL 3705 / 3705L Digital Logic Design
COMS 161 Introduction to Computing
COMS 161 Introduction to Computing
Chapter 3 DataStorage Foundations of Computer Science ã Cengage Learning.
Number Representation
Presentation transcript:

CS61C L02 Number Representation (1) Garcia, Spring 2010 © UCB Lecturer SOE Dan Garcia inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures Lecture #2 – Number Representation There is one handout today at the front and back of the room! Great book  The Universal History of Numbers by Georges Ifrah

CS61C L02 Number Representation (2) Garcia, Spring 2010 © UCB Review Continued rapid improvement in computing 2Xevery 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 every 2 yrs) 5 classic components of all computers Control Datapath Memory Input Output Processor } a b c d e What’ll be the most important part of a computer in the future?

CS61C L02 Number Representation (3) Garcia, Spring 2010 © 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 (4) Garcia, Spring 2010 © UCB Data input: Analog  Digital Real world is analog! To import analog information, we must do two things Sample  E.g., for a CD, every 44,100ths of a second, we ask a music signal how loud it is. Quantize  For every one of these samples, we figure out where, on a 16-bit (65,536 tic-mark) “yardstick”, it lies.

CS61C L02 Number Representation (5) Garcia, Spring 2010 © UCB Digital data not nec born Analog… hof.povray.org

CS61C L02 Number Representation (6) Garcia, Spring 2010 © UCB BIG IDEA: Bits can represent anything!! Characters? 26 letters  5 bits (2 5 = 32) upper/lower case + punctuation  7 bits (in 8) (“ASCII”) standard code to cover all the world’s languages  8,16,32 bits (“Unicode”) Logical values? 0  False, 1  True colors ? Ex: locations / addresses? commands? MEMORIZE: N bits  at most 2 N things Red (00)Green (01)Blue (11)

CS61C L02 Number Representation (7) Garcia, Spring 2010 © UCB How many bits to represent  ? a)1 b)9 (π = 3.14, so that’s 011 “.” ) c)64 (Since Macs are 64-bit machines) d)Every bit the machine has! e)∞

CS61C L02 Number Representation (8) Garcia, Spring 2010 © 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: = 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 ?

CS61C L02 Number Representation (9) Garcia, Spring 2010 © UCB What if too big? Binary bit patterns above are simply representatives of numbers. Strictly speaking they are called “numerals”. Numbers really have an  number of digits with almost all being same (00…0 or 11…1) except for a few of the rightmost digits Just don’t normally show leading digits If result of add (or -, *, / ) cannot be represented by these rightmost HW bits, overflow is said to have occurred unsigned

CS61C L02 Number Representation (10) Garcia, Spring 2010 © 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 Binary odometer (C’s unsigned int, C99’s uintN_t ) META: Ain’t no free lunch

CS61C L02 Number Representation (11) Garcia, Spring 2010 © UCB Shortcomings of sign and magnitude? Arithmetic circuit complicated Special steps depending whether signs are the same or not Also, two zeros 0x = +0 ten 0x = –0 ten What would two 0s mean for programming? Also, incrementing “binary odometer”, sometimes increases values, and sometimes decreases! Therefore sign and magnitude abandoned

CS61C L02 Number Representation (12) Garcia, Spring 2010 © UCB Administrivia Upcoming lectures Next three lectures: Introduction to C Lab overcrowding Remember, you can go to ANY discussion (none, or one that doesn’t match with lab, or even more than one if you want) Overcrowded labs - consider finishing at home and getting checkoffs in lab, or bringing laptop to lab If you’re checked off in 1 st hour, you get an extra point on the labs! Enrollment It will work out, don’t worry Exams are all open book, no need to memorize! Soda locks 6:30pm & on weekends Look at class website, newsgroup often! ucb.class.cs61c Iclickerskinz.com

CS61C L02 Number Representation (13) Garcia, Spring 2010 © UCB Great DeCal courses I supervise UCBUGG (3 units, P/NP) UC Berkeley Undergraduate Graphics Group Tue 5-7pm or Wed 4-6pm in 200 Sutardja Dai Learn to create a short 3D animation No prereqs (but they might have too many students, so admission not guaranteed) MS-DOS X (2 units, P/NP) Macintosh Software Developers for OS X Mon 5-7pm in 200 Sutardja Dai Learn to program the Macintosh or iPhone or iPod Touch! No prereqs (other than interest)

CS61C L02 Number Representation (14) Garcia, Spring 2010 © UCB Another try: complement the bits Example: 7 10 = –7 10 = Called One’s Complement Note: positive numbers have leading 0s, negative numbers have leadings 1s What is ? Answer: How many positive numbers in N bits? How many negative numbers? Binary odometer

CS61C L02 Number Representation (15) Garcia, Spring 2010 © UCB Shortcomings of One’s complement? Arithmetic still a somewhat complicated. Still two zeros 0x = +0 ten 0xFFFFFFFF = -0 ten Although used for a while on some computer products, one’s complement was eventually abandoned because another solution was better.

CS61C L02 Number Representation (16) Garcia, Spring 2010 © UCB Standard Negative # Representation Problem is the negative mappings “overlap” with the positive ones (the two 0s). Want to shift the negative mappings left by one. Solution! For negative numbers, complement, then add 1 to the result As with sign and magnitude, & one’s compl. leading 0s  positive, leading 1s  negative xxx is ≥ 0, xxx is < 0 except 1…1111 is -1, not -0 (as in sign & mag.) This representation is Two’s Complement This makes the hardware simple! (Also C’s short, long long, …, C99’s intN_t ) (C’s int, aka a “signed integer”)

CS61C L02 Number Representation (17) Garcia, Spring 2010 © UCB Two’s Complement Formula Can represent positive and negative numbers in terms of the bit value times a power of 2: d 31 x -(2 31 ) + d 30 x d 2 x d 1 x d 0 x 2 0 Example: 1101 two in a nibble? = 1x-(2 3 ) + 1x x x2 0 = = = = -3 ten Example: -3 to +3 to -3 (again, in a nibble): x : 1101 two x’: 0010 two +1: 0011 two ()’: 1100 two +1: 1101 two

CS61C L02 Number Representation (18) Garcia, Spring 2010 © UCB 2’s Complement Number “line”: N = 5 2 N-1 non- negatives 2 N-1 negatives one zero how many positives? Binary odometer

CS61C L02 Number Representation (19) Garcia, Spring 2010 © UCB Bias Encoding: N = 5 (bias = -15) # = unsigned + bias Bias for N bits chosen as –(2 N-1 -1) one zero how many positives? Binary odometer

CS61C L02 Number Representation (20) Garcia, Spring 2010 © UCB How best to represent ? a)2s Complement (but shift binary pt) b)Bias (but shift binary pt) c)Combination of 2 encodings d)Combination of 3 encodings e)We can’t Shifting binary point means “divide number by some power of 2. E.g., =  = (11/4) 10 =

CS61C L02 Number Representation (21) Garcia, Spring 2010 © UCB And in summary... We represent “things” in computers as particular bit patterns: N bits  2 N things These 5 integer encodings have different benefits; 1s complement and sign/mag have most problems. unsigned (C99’s uintN_t ) : 2’s complement (C99’s intN_t ) universal, learn! Overflow: numbers  ; computers finite,errors! META: We often make design decisions to make HW simple META: Ain’t no free lunch

CS61C L02 Number Representation (22) Garcia, Spring 2010 © UCB REFERENCE: Which 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: 32 ten == == 0x20 == == 0b Use subscripts “ten”, “hex”, “two” in book, slides when might be confusing

CS61C L02 Number Representation (23) Garcia, Spring 2010 © UCB Two’s Complement for N= two = 0 ten two = 1 ten two = 2 ten two = 2,147,483,645 ten two = 2,147,483,646 ten two = 2,147,483,647 ten two = –2,147,483,648 ten two = –2,147,483,647 ten two = –2,147,483,646 ten two =–3 ten two =–2 ten two =–1 ten One zero; 1st bit called sign bit 1 “extra” negative:no positive 2,147,483,648 ten

CS61C L02 Number Representation (24) Garcia, Spring 2010 © UCB Two’s comp. shortcut: Sign extension Convert 2’s complement number rep. using n bits to more than n bits Simply replicate the most significant bit (sign bit) of smaller to fill new bits 2’s comp. positive number has infinite 0s 2’s comp. negative number has infinite 1s Binary representation hides leading bits; sign extension restores some of them 16-bit -4 ten to 32-bit: two two