# Representing numbers on the computer. Computer memory/processors consist of items that exist in one of two possible states (binary states).

Save this PDF as:

Size: px
Start display at page:

Download "Representing numbers on the computer. Computer memory/processors consist of items that exist in one of two possible states (binary states)."

## Transcription

1 Representing numbers on the computer. Computer memory/processors consist of items that exist in one of two possible states (binary states). These states are usually labeled 0 and 1. Each item in memory stores one bit of information. (whether it is a 0 or a 1).

2 How can we combine these bits into something useful? We can let the two states represent the digits 0 and 1 of a positional, base 2 system. (similar to our base 10 system, but with only 2 digits, 0 and 1, rather than 10 digits, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9).

3 This leads to a simple way to represent integers - - just use base 2. Base When you run out of 5 symbols, combine 6 using idea of 0 and 7 positional value Base a n b n a n-1 b n-1 a 2 b 2 a 1 b 1 a 0 b 0, b = base, a element of set of symbols for base {0, 1,,b-1}

4 glitches

5 All the integers we can write down are finite (use some finite number digits), but size otherwise arbitrary (8, 147, etc). Computer takes this one step further by stating up front the number of digits (bits) in a number in memory. All numbers will have this number of bits (or multiples of it).

6 Introduce the byte a group of 8 bits. In general the computer does not work with individual bits it works with bytes (8 bits at a time) or words (some number of bytes). Bytes can be combined into words. Words were originally defined as 2 bytes (16 bits), but as computers got more powerful, words grew to 4 bytes (32 bits), and now 8 bytes (64 bits). (how things are combined will come back to bite us later) Half a byte, 4 bits, is a nibble.

7 On the SUN, a word is 4 bytes ( 32 bit machine ). On the newest MacPro s (and PC s, since they both use the same INTEL chips) a word is 8 bytes ( 64 bit machine ).

8 So let s say we are on a machine with 3 bit words. (so we can write out the numbers) We have seen that we can represent positive integers in base 2.

9 With 3 bits we can count to 7. (with n bits we can count to 2 n -1)

10 What about negative integers? Now we have a problem. We don t have a minus sign. All we have are 0 and 1.

11 One solution is to use the most significant (MSB) or highest order bit (the leftmost one) as a sign bit

12 This has some problems. We have two values for zero (positive and negative, and we only have 6 distinct numbers, not 7). This representation will also make binary arithmetic (add, subtract) on computers awkward (i.e. if numbers are expressed in this fashion).

13 Actual solution: Use MSB to indicate the sign of the number but in a slightly funky manner. Use the idea of the - Additive inverse - each positive number has an additive inverse. combined with the fact that the computer has - Finite precision uses a fixed number of bits to represent a number.

14 If we added 11 we get How does this work? (using 4 digit numbers) A= Want additive inverse of A, a number that when added to A produces 0. If we add 1 2 we get A = = So we have made the least significant bit (LSB) a zero.

15 If we add 11 2 we get A = = Now the 3 LSBs are zero. If we add we get A = = But our numbers are only 4 bits in size, the 1 is a carry into a 5 th bit but we don t have a 5 th bit, it goes into the bit bucket.

16 A = = So with a limit of 4 bits we cannot add the two 4 bit positive numbers and because the answer needs 5 bits. Keeping only the 4 bits we have. A = = we see that is the additive inverse of

17 So we want to represent 5 10, and to represent -5 10, While maintaining positional notation = 0*something+1*2 2 +0*2 1 +1*2 0 =5 10 and = 1*something+0*2 2 +1*2 1 +1*2 0 = = 1*something+3 10 =-5 10 So something = = -2 3

18 So now we have, abcd 2 = a*(-2 3 )+b*2 2 +c*2 1 +d*2 0 abcd 2 = a*(-8 10 )+b*4 10 +c*2 10 +d*1 10 which also maintains positional notation. We can now count from -2 n-1 to 2 n-1-1 (ex. for n=3, 2 3 =8, so we can represent 8 values {-4, -3, -2, -1, 0, 1, 2, 3})

19 This representation of numbers is called two s complement. Numbers written this way are two s complement numbers.

20 Two s complement numbers can be made using the theory presented, or by noticing that you can also form them by inverting all the bits and adding a 1! (5 10 ) = > invert bits then add = = (-5 10 ). (compare to before) This method is trivial to do on a computer (which can really only do logical operations [and, or, exclusive or {negate can be made from exclusive or}] on pairs of bits.)

21 So to add on a computer just add the two binary numbers. To subtract on a computer, just add the two s compliment of the number you are subtracting.

22 Sizes of numbers (integers) 8 bit (byte) : -128 to +127 (unsigned: 0 to +255) 16 bit (half word, word, short, int) :-32,768 to +32,767 (32K) (unsigned: 0 to +65,535 or 64K) 32 bit (longword, word, int) : 2,147,483,648 to +2,147,483,647 (unsigned: 0 to +4,294,967,295)

23 64 bit (double word, long word, quadword, int68) : 9,223,372,036,854,775,808 to +9,223,372,036,854,775,807 (unsigned: 0 to +18,446,744,073,709,551,615) 128 bit (octaword) : 170,141,183,460,469,231,731,687,303,715,884,105,728 to +170,141,183,460,469,231,731,687,303,715,884,105,727 (unsigned: 0 to +340,282,366,920,938,463,463,374,607,431,768,211,455) {10 38 a pretty big number but not big enough to count the atoms in the universe estimated to be }

24 So now we can add and subtract integers (also known as fixed point numbers) (and multiplying by repetitive addition, division by repetitive subtraction). What about - Non-integer numbers? Numbers outside the range of integers?

25 Enter floating point numbers. Non-integer numbers on the computer are limited to rational numbers (a/b where a and b are integers). Akin to scientific notation a.cde * b n where b is the base.

26 Floating point numbers can represent a wider range of numbers (bigger range of exponents) than fixed point numbers. As with scientific notation floating point numbers will have a number of digits in a decimal number (with a decimal point, not base 10) plus an exponent, which is used to multiply the decimal number by the base raised to that power x 10 6 But now our number and base will be binary.

27 Modern floating point format is IEEE 754 standard (there were at least as many as computer manufacturers for a long time). Non-integer numbers are represented as 1+ bit n p 1 n=1 2 n 2 m * 2 = (1+1*2-1 +0*2-2 +1*2-4 +1*2-7 +1*2-23 )*2 1

28 * 2 = (1.+1*2-1 +0* * * *2-23 )*2 0 The decimal number (part in yellow) is called the mantissa. The exponent (part in cyan) is called the exponent.

29 Following the same restrictions that the computer placed on integers we will have some predefined finite size for both the mantissa and exponent. We will also need to know where the radix (decimal) point is located (we don t have a radix point just 0 and 1). And a way to represent negative values for both the number and the exponent.

30 Typical size for floating point number is 32 bits called single precision (double precision is 64 bits, quad precision 128 bits). The IEEE floating point number consists of a - 24 bit mantissa (including hidden bit), - an 8 bit exponent (with a bias or excess to handle positive and negative values), - and a sign bit (total 32 bits).

31 The decimal point will always be after (in IEEE format, it could be before) the most significant non-zero digit (which can only be a 1 in base 2). Implicit or hidden bit. To milk another digit out of our floating point representation use the fact that for all numbers but zero, the first binary digit will be a 1, so we can throw it out. (i.e. - not store it in the number. We have to remember to stick the implicit or hidden bit back in for calculations. This is done automatically by the hardware in the CPU.)

32 Rounding is done by adding 1 to the 24 th bit if the 25 th bit is a 1. (we have 23 bits in the floating point number for the mantissa after taking the sign bit into account, but one bit [the MSB] is implicit, so the last bit is really the 24 th in the number)

33 To handle negative exponents we will just add 127 (in the IEEE standard, some other floating point formats use 128) to the value of the exponent. The exponent is an unsigned integer. The base for the exponent is 2 (it was 16 on the IBM, which gave a much wider range of values for the exponent, but also much bigger round off errors because every change in the exponent shifted 4 rather than 1 bits).

34 So our floating point number is 1. SEEEEEEEEMMMMMMMMMMMMMMMMMMMMMMM example Π s first 32 bits = Round to 24 bits x 2 1 Take this (23 bits) less hidden bit (yellow), together with sign bit =0 (is positive number), exponent =1 (11.0 = 1.10 x2 1 ) 2, excess or bias exponent = = = Π =

35 Range of floating point numbers. Single precision (32 bit number, 24 in mantissa) About 7 decimal digits. How to approximate number of base 10 digits from number of base 2 digits 2 10 = 1024 ~ 10 3 base 2 exponent/base 10 exponent = 10/3=3.3 (24/3.3=7.2)

36 Ranges for various sizes of floating point numbers Type Sign Exponent Mantissa Total bits Exponent bias Bits precision Single 1 8 (±38) (7 10 ) Double 1 11 (±308) (16 10 ) Quad 1 15 (±4,965) (34 10 )

37 To add floating point numbers have to line up the mantissas (shift based on exponent). Potential problem when adding two numbers of very different magnitude. eg = 1.0 in single precision (does not give expected ) because we do not have enough bits to represent correct value (only 7 decimal digits). (solution here is to go to double precision.)

38 Another potential problem Loss of significance when subtracting two numbers that are almost the same Start out with 7 digit numbers, end up with single significant digit in new - seemingly 7 significant digit - number ( x 10-6 ). This is not solved by increasing precision on computer.

39 To multiply floating point numbers add exponents, multiply mantissas. On computer result has same number significant digits (7 for single precision) as the two factors.

40 Special values: - Zero (no 1 bit anywhere to normalize on all zeros) +/- infinity - NaN (result of operations such as divide by zero, sqrt -1 [except in matlab]) - Others

41 Machine precision Characterizes accuracy of machine representation. epsilon or E mach Value depends on number bits in mantissa and how rounding is done.

42 With rounding to zero, E mach = B^(1-P) With rounding to nearest, E mach = (1/2)*B^(1-P) Where B^(M)=B M.

43 E mach Quantifies bounds on the relative error in representing any non-zero real number x within the normalized range of a floating point system: (f(x) x) / x < = E mach

44 Math vs what the computer does. Due to finite precision and rounding the computer will (generally) not give what you might expect mathematically. Mathematically sin 2 θ+cos 2 θ=1. But on the computer (finite precision, rational values only, ) the test sin 2 θ+cos 2 θ==1 will return FALSE!

45 One solution to this problem is to test against a small number the machine precision, rather than zero. So test abs(sin 2 θ+cos 2 θ-1) < epsilon if this is true consider, then we can consider sin 2 θ+cos 2 θ=1. (same with test a==b, use abs(a-b) < epsilon).

46 One last detail Combining bytes into words. Many ways to do it, and all were used (of course). Two of the most popular are both still around. Can cause value of numbers to be interpreted incorrectly. Can cause major headaches (some operating systems/programs can figure it out and fix it for you, others can t and you have to do it).

47 Endianness In byte (unsigned integer) 2 7, 2 6, 2 5, 2 4, 2 3, 2 2, 2 1,2 0 MSB on left, LSB on right. What happens when I combine 2 bytes into a 16 bit number?

48 Two possible ways to combine. (and also several possible ways to visualize memory). MSByte LSByte Address 0 1 LSByte MSByte Address 0 1

49 A number made up of just one byte would have that byte placed at address A B C D E F How do we expand this number to two bytes? We have 2 options. We could allow it to grow towards the right the little endian form) A B C D E F This puts the numbers "backwards", but allows us to extend the size of number to the limits of memory without having to move the least significant parts.

50 Alternately, we could slide the first byte to the right, changing it s address, and then extend the number toward the left, the big endian form A B C D E F This keeps the digits in the correct order, but forces a definite size into the number (one has to move the bytes with lower significance as add more bytes). (the arrow indicates the base address when referring to the number).

51 Nothing really forces us to number bytes left to right. If we wanted, we could number right to left. If we were to do so, the above exercise takes on a whole new look: F E D C B A grows to become either (Little Endian): F E D C B A or (Big Endian) F E D C B A Suddenly, little endian not only looks correct, but also behaves correctly, grows left without affecting existing bytes. And, just as suddenly, big endian turns onto a bizarre rogue whose byte ordering doesn t follow the "rules".

52 Big-endian (Looking at memory as column going down.)

53 Big-endian - with 8-bit atomic element size and 1-byte (octet) address increment: increasing addresses... 0x0A 0x0B 0x0C 0x0D... The most significant byte (MSB) value, which is 0x0A in our example, is stored at the memory location with the lowest address, the next byte value in significance, 0x0B, is stored at the following memory location and so on. This is akin to Left-to-Right reading in hexadecimal order.

54 Little-endian (Looking at memory as column going down.) (As with left2right or right2left ordering of row form, reasonableness of behaviors would switch if looked at memory as column going up.)

55 Litle-endian - with 8-bit atomic element size and 1-byte (octet) address increment: increasing addresses... 0x0D 0x0C 0x0B 0x0A... The least significant byte (LSB) value, 0x0D, is at the lowest address. The other bytes follow in increasing order of significance.

56

57 Which way makes more sense depends on how you picture memory. As rows or columns. Whether the rows go from left2right or right2left, or the columns go up or down.

58 Machines that use little-endian format include x86, 6502, Z80, VAX, and, largely, PDP-11 Machines that use big-endian format include Motorola (pre intel macs), IBM, SUN (SPARC) (machines/companies that started out with 8 bits typically used little-endian when they combined bytes. Machines/companies that started out with 16 bits typically used big-endian to break words into bytes.)

59 What you need to know. For binary data (not ascii [basically letters] which is stored in a single byte) you have to know how it is stored. If it is stored the wrong way for your machine, you have to do a byte swap to fix it. There are programs to do this. (plus some programs, like the latest version of SAC, can figure it out so you don t have to worry about it)..

60 When you byte swap, you also have to swap each grouping of 2n (e.g. for 32 bit numbers you have to swap words also). Etc. for 64 bit, 128 bit, values.

61 When converting floating point (assuming base 2 exponent) have to worry about - the exponent s excess value (IEEE uses 127, some other formats use 128 a factor of 2) - and position of assumed decimal point (before or after most significant bit with value of 1 (another factor of 2). Only have to worry about this stuff when moving (usually old) binary stuff between machines/architectures.

### CS 265. Computer Architecture. Wei Lu, Ph.D., P.Eng.

CS 265 Computer Architecture Wei Lu, Ph.D., P.Eng. 1 Part 1: Data Representation Our goal: revisit and re-establish fundamental of mathematics for the computer architecture course Overview: what are bits

### IEEE-754 floating-point

IEEE-754 floating-point Real and floating-point numbers Real numbers R form a continuum - Rational numbers are a subset of the reals - Some numbers are irrational, e.g. π Floating-point numbers are an

### Module 2: Computer Arithmetic

Module 2: Computer Arithmetic 1 B O O K : C O M P U T E R O R G A N I Z A T I O N A N D D E S I G N, 3 E D, D A V I D L. P A T T E R S O N A N D J O H N L. H A N N E S S Y, M O R G A N K A U F M A N N

### Signed Binary Numbers

Signed Binary Numbers Unsigned Binary Numbers We write numbers with as many digits as we need: 0, 99, 65536, 15000, 1979, However, memory locations and CPU registers always hold a constant, fixed number

### 3.5 Floating Point: Overview

3.5 Floating Point: Overview Floating point (FP) numbers Scientific notation Decimal scientific notation Binary scientific notation IEEE 754 FP Standard Floating point representation inside a computer

### Scientific Computing. Error Analysis

ECE257 Numerical Methods and Scientific Computing Error Analysis Today s s class: Introduction to error analysis Approximations Round-Off Errors Introduction Error is the difference between the exact solution

### Inf2C - Computer Systems Lecture 2 Data Representation

Inf2C - Computer Systems Lecture 2 Data Representation Boris Grot School of Informatics University of Edinburgh Last lecture Moore s law Types of computer systems Computer components Computer system stack

### Floating Point Arithmetic

Floating Point Arithmetic CS 365 Floating-Point What can be represented in N bits? Unsigned 0 to 2 N 2s Complement -2 N-1 to 2 N-1-1 But, what about? very large numbers? 9,349,398,989,787,762,244,859,087,678

### Floating-Point Data Representation and Manipulation 198:231 Introduction to Computer Organization Lecture 3

Floating-Point Data Representation and Manipulation 198:231 Introduction to Computer Organization Instructor: Nicole Hynes nicole.hynes@rutgers.edu 1 Fixed Point Numbers Fixed point number: integer part

### Chapter 4: Data Representations

Chapter 4: Data Representations Integer Representations o unsigned o sign-magnitude o one's complement o two's complement o bias o comparison o sign extension o overflow Character Representations Floating

### IT 1204 Section 2.0. Data Representation and Arithmetic. 2009, University of Colombo School of Computing 1

IT 1204 Section 2.0 Data Representation and Arithmetic 2009, University of Colombo School of Computing 1 What is Analog and Digital The interpretation of an analog signal would correspond to a signal whose

### l l l l l l l Base 2; each digit is 0 or 1 l Each bit in place i has value 2 i l Binary representation is used in computers

198:211 Computer Architecture Topics: Lecture 8 (W5) Fall 2012 Data representation 2.1 and 2.2 of the book Floating point 2.4 of the book Computer Architecture What do computers do? Manipulate stored information

### Chapter 03: Computer Arithmetic. Lesson 09: Arithmetic using floating point numbers

Chapter 03: Computer Arithmetic Lesson 09: Arithmetic using floating point numbers Objective To understand arithmetic operations in case of floating point numbers 2 Multiplication of Floating Point Numbers

### Signed umbers. Sign/Magnitude otation

Signed umbers So far we have discussed unsigned number representations. In particular, we have looked at the binary number system and shorthand methods in representing binary codes. With m binary digits,

### Learning the Binary System

Learning the Binary System www.brainlubeonline.com/counting_on_binary/ Formated to L A TEX: /25/22 Abstract This is a document on the base-2 abstract numerical system, or Binary system. This is a VERY

### The type of all data used in a C (or C++) program must be specified

The type of all data used in a C (or C++) program must be specified A data type is a description of the data being represented That is, a set of possible values and a set of operations on those values

### Number Systems and Computer Arithmetic

Number Systems and Computer Arithmetic Counting to four billion two fingers at a time What do all those bits mean now? bits (011011011100010...01) instruction R-format I-format... integer data number text

### 10.1. Unit 10. Signed Representation Systems Binary Arithmetic

0. Unit 0 Signed Representation Systems Binary Arithmetic 0.2 BINARY REPRESENTATION SYSTEMS REVIEW 0.3 Interpreting Binary Strings Given a string of s and 0 s, you need to know the representation system

### Floating Point Numbers. Lecture 9 CAP

Floating Point Numbers Lecture 9 CAP 3103 06-16-2014 Review of Numbers Computers are made to deal with numbers What can we represent in N bits? 2 N things, and no more! They could be Unsigned integers:

### Floating Point. The World is Not Just Integers. Programming languages support numbers with fraction

1 Floating Point The World is Not Just Integers Programming languages support numbers with fraction Called floating-point numbers Examples: 3.14159265 (π) 2.71828 (e) 0.000000001 or 1.0 10 9 (seconds in

### CMSC 313 Lecture 03 Multiple-byte data big-endian vs little-endian sign extension Multiplication and division Floating point formats Character Codes

Multiple-byte data CMSC 313 Lecture 03 big-endian vs little-endian sign extension Multiplication and division Floating point formats Character Codes UMBC, CMSC313, Richard Chang 4-5 Chapter

### 15213 Recitation 2: Floating Point

15213 Recitation 2: Floating Point 1 Introduction This handout will introduce and test your knowledge of the floating point representation of real numbers, as defined by the IEEE standard. This information

### Number Systems. Binary Numbers. Appendix. Decimal notation represents numbers as powers of 10, for example

Appendix F Number Systems Binary Numbers Decimal notation represents numbers as powers of 10, for example 1729 1 103 7 102 2 101 9 100 decimal = + + + There is no particular reason for the choice of 10,

### DRAM uses a single capacitor to store and a transistor to select. SRAM typically uses 6 transistors.

Data Representation Data Representation Goal: Store numbers, characters, sets, database records in the computer. What we got: Circuit that stores 2 voltages, one for logic 0 (0 volts) and one for logic

### 1. NUMBER SYSTEMS USED IN COMPUTING: THE BINARY NUMBER SYSTEM

1. NUMBER SYSTEMS USED IN COMPUTING: THE BINARY NUMBER SYSTEM 1.1 Introduction Given that digital logic and memory devices are based on two electrical states (on and off), it is natural to use a number

### Floating-point Arithmetic. where you sum up the integer to the left of the decimal point and the fraction to the right.

Floating-point Arithmetic Reading: pp. 312-328 Floating-Point Representation Non-scientific floating point numbers: A non-integer can be represented as: 2 4 2 3 2 2 2 1 2 0.2-1 2-2 2-3 2-4 where you sum

### Floating Point Numbers

Floating Point Numbers Summer 8 Fractional numbers Fractional numbers fixed point Floating point numbers the IEEE 7 floating point standard Floating point operations Rounding modes CMPE Summer 8 Slides

### Floating Point. EE 109 Unit 20. Floating Point Representation. Fixed Point

2.1 Floating Point 2.2 EE 19 Unit 2 IEEE 754 Floating Point Representation Floating Point Arithmetic Used to represent very numbers (fractions) and very numbers Avogadro s Number: +6.247 * 1 23 Planck

### CS321. Introduction to Numerical Methods

CS31 Introduction to Numerical Methods Lecture 1 Number Representations and Errors Professor Jun Zhang Department of Computer Science University of Kentucky Lexington, KY 40506 0633 August 5, 017 Number

### Floating point. Today! IEEE Floating Point Standard! Rounding! Floating Point Operations! Mathematical properties. Next time. !

Floating point Today! IEEE Floating Point Standard! Rounding! Floating Point Operations! Mathematical properties Next time! The machine model Chris Riesbeck, Fall 2011 Checkpoint IEEE Floating point Floating

### ICS Instructor: Aleksandar Kuzmanovic TA: Ionut Trestian Recitation 2

ICS 2008 Instructor: Aleksandar Kuzmanovic TA: Ionut Trestian Recitation 2 Data Representations Sizes of C Objects (in Bytes) C Data Type Compaq Alpha Typical 32-bit Intel IA32 int 4 4 4 long int 8 4 4

### Computer Systems C S Cynthia Lee

Computer Systems C S 1 0 7 Cynthia Lee 2 Today s Topics LECTURE: Floating point! Real Numbers and Approximation MATH TIME! Some preliminary observations on approximation We know that some non-integer numbers

### IEEE Floating Point Numbers Overview

COMP 40: Machine Structure and Assembly Language Programming (Fall 2015) IEEE Floating Point Numbers Overview Noah Mendelsohn Tufts University Email: noah@cs.tufts.edu Web: http://www.cs.tufts.edu/~noah

### Data Representation. DRAM uses a single capacitor to store and a transistor to select. SRAM typically uses 6 transistors.

Data Representation Data Representation Goal: Store numbers, characters, sets, database records in the computer. What we got: Circuit that stores 2 voltages, one for logic ( volts) and one for logic (3.3

### Data Representation Floating Point

Data Representation Floating Point CSCI 2400 / ECE 3217: Computer Architecture Instructor: David Ferry Slides adapted from Bryant & O Hallaron s slides via Jason Fritts Today: Floating Point Background:

### Binary Addition & Subtraction. Unsigned and Sign & Magnitude numbers

Binary Addition & Subtraction Unsigned and Sign & Magnitude numbers Addition and subtraction of unsigned or sign & magnitude binary numbers by hand proceeds exactly as with decimal numbers. (In fact this

### Floating-Point Numbers in Digital Computers

POLYTECHNIC UNIVERSITY Department of Computer and Information Science Floating-Point Numbers in Digital Computers K. Ming Leung Abstract: We explain how floating-point numbers are represented and stored

### CS367 Test 1 Review Guide

CS367 Test 1 Review Guide This guide tries to revisit what topics we've covered, and also to briefly suggest/hint at types of questions that might show up on the test. Anything on slides, assigned reading,

### Classes of Real Numbers 1/2. The Real Line

Classes of Real Numbers All real numbers can be represented by a line: 1/2 π 1 0 1 2 3 4 real numbers The Real Line { integers rational numbers non-integral fractions irrational numbers Rational numbers

### FLOATING POINT NUMBERS

FLOATING POINT NUMBERS Robert P. Webber, Longwood University We have seen how decimal fractions can be converted to binary. For instance, we can write 6.25 10 as 4 + 2 + ¼ = 2 2 + 2 1 + 2-2 = 1*2 2 + 1*2

### ECE 372 Microcontroller Design Assembly Programming Arrays. ECE 372 Microcontroller Design Assembly Programming Arrays

Assembly Programming Arrays Assembly Programming Arrays Array For Loop Example: unsigned short a[]; for(j=; j

### Dr. Chuck Cartledge. 3 June 2015

Miscellanea 8224 Revisited Break 1.5 1.6 Conclusion References Backup slides CSC-205 Computer Organization Lecture #002 Section 1.5 Dr. Chuck Cartledge 3 June 2015 1/30 Table of contents I 5 1.6 1 Miscellanea

### Floating-Point Arithmetic

Floating-Point Arithmetic if ((A + A) - A == A) { SelfDestruct() } Reading: Study Chapter 3. L12 Multiplication 1 Approximating Real Numbers on Computers Thus far, we ve entirely ignored one of the most

### Floating Point Puzzles The course that gives CMU its Zip! Floating Point Jan 22, IEEE Floating Point. Fractional Binary Numbers.

class04.ppt 15-213 The course that gives CMU its Zip! Topics Floating Point Jan 22, 2004 IEEE Floating Point Standard Rounding Floating Point Operations Mathematical properties Floating Point Puzzles For

### IBM 370 Basic Data Types

IBM 370 Basic Data Types This lecture discusses the basic data types used on the IBM 370, 1. Two s complement binary numbers 2. EBCDIC (Extended Binary Coded Decimal Interchange Code) 3. Zoned Decimal

### PROGRAMMAZIONE I A.A. 2017/2018

PROGRAMMAZIONE I A.A. 2017/2018 TYPES TYPES Programs have to store and process different kinds of data, such as integers and floating-point numbers, in different ways. To this end, the compiler needs to

### 4 Operations On Data 4.1. Foundations of Computer Science Cengage Learning

4 Operations On Data 4.1 Foundations of Computer Science Cengage Learning Objectives After studying this chapter, the student should be able to: List the three categories of operations performed on data.

### Chapter 2: Number Systems

Chapter 2: Number Systems Logic circuits are used to generate and transmit 1s and 0s to compute and convey information. This two-valued number system is called binary. As presented earlier, there are many

### Course Schedule. CS 221 Computer Architecture. Week 3: Plan. I. Hexadecimals and Character Representations. Hexadecimal Representation

Course Schedule CS 221 Computer Architecture Week 3: Information Representation (2) Fall 2001 W1 Sep 11- Sep 14 Introduction W2 Sep 18- Sep 21 Information Representation (1) (Chapter 3) W3 Sep 25- Sep

### The Perils of Floating Point

The Perils of Floating Point by Bruce M. Bush Copyright (c) 1996 Lahey Computer Systems, Inc. Permission to copy is granted with acknowledgement of the source. Many great engineering and scientific advances

### Integers and Floating Point

CMPE12 More about Numbers Integers and Floating Point (Rest of Textbook Chapter 2 plus more)" Review: Unsigned Integer A string of 0s and 1s that represent a positive integer." String is X n-1, X n-2,

### Floating-Point Arithmetic

Floating-Point Arithmetic if ((A + A) - A == A) { SelfDestruct() } Reading: Study Chapter 4. L12 Multiplication 1 Why Floating Point? Aren t Integers enough? Many applications require numbers with a VERY

### What Every Programmer Should Know About Floating-Point Arithmetic

What Every Programmer Should Know About Floating-Point Arithmetic Last updated: October 15, 2015 Contents 1 Why don t my numbers add up? 3 2 Basic Answers 3 2.1 Why don t my numbers, like 0.1 + 0.2 add

### QUIZ ch.1. 1 st generation 2 nd generation 3 rd generation 4 th generation 5 th generation Rock s Law Moore s Law

QUIZ ch.1 1 st generation 2 nd generation 3 rd generation 4 th generation 5 th generation Rock s Law Moore s Law Integrated circuits Density of silicon chips doubles every 1.5 yrs. Multi-core CPU Transistors

### Homework 1 graded and returned in class today. Solutions posted online. Request regrades by next class period. Question 10 treated as extra credit

Announcements Homework 1 graded and returned in class today. Solutions posted online. Request regrades by next class period. Question 10 treated as extra credit Quiz 2 Monday on Number System Conversions

### IEEE Standard for Floating-Point Arithmetic: 754

IEEE Standard for Floating-Point Arithmetic: 754 G.E. Antoniou G.E. Antoniou () IEEE Standard for Floating-Point Arithmetic: 754 1 / 34 Floating Point Standard: IEEE 754 1985/2008 Established in 1985 (2008)

### Characters, Strings, and Floats

Characters, Strings, and Floats CS 350: Computer Organization & Assembler Language Programming 9/6: pp.8,9; 9/28: Activity Q.6 A. Why? We need to represent textual characters in addition to numbers. Floating-point

### Representing and Manipulating Floating Points

Representing and Manipulating Floating Points Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu The Problem How to represent fractional values with

### ecture 25 Floating Point Friedland and Weaver Computer Science 61C Spring 2017 March 17th, 2017

ecture 25 Computer Science 61C Spring 2017 March 17th, 2017 Floating Point 1 New-School Machine Structures (It s a bit more complicated!) Software Hardware Parallel Requests Assigned to computer e.g.,

### Logic, Words, and Integers

Computer Science 52 Logic, Words, and Integers 1 Words and Data The basic unit of information in a computer is the bit; it is simply a quantity that takes one of two values, 0 or 1. A sequence of k bits

### Systems I. Floating Point. Topics IEEE Floating Point Standard Rounding Floating Point Operations Mathematical properties

Systems I Floating Point Topics IEEE Floating Point Standard Rounding Floating Point Operations Mathematical properties IEEE Floating Point IEEE Standard 754 Established in 1985 as uniform standard for

### Name: CMSC 313 Fall 2001 Computer Organization & Assembly Language Programming Exam 1. Question Points I. /34 II. /30 III.

CMSC 313 Fall 2001 Computer Organization & Assembly Language Programming Exam 1 Name: Question Points I. /34 II. /30 III. /36 TOTAL: /100 Instructions: 1. This is a closed-book, closed-notes exam. 2. You

### Table : IEEE Single Format ± a a 2 a 3 :::a 8 b b 2 b 3 :::b 23 If exponent bitstring a :::a 8 is Then numerical value represented is ( ) 2 = (

Floating Point Numbers in Java by Michael L. Overton Virtually all modern computers follow the IEEE 2 floating point standard in their representation of floating point numbers. The Java programming language

### Algebra 1 Review. Properties of Real Numbers. Algebraic Expressions

Algebra 1 Review Properties of Real Numbers Algebraic Expressions Real Numbers Natural Numbers: 1, 2, 3, 4,.. Numbers used for counting Whole Numbers: 0, 1, 2, 3, 4,.. Natural Numbers and 0 Integers:,

### COMP 122/L Lecture 2. Kyle Dewey

COMP 122/L Lecture 2 Kyle Dewey Outline Operations on binary values AND, OR, XOR, NOT Bit shifting (left, two forms of right) Addition Subtraction Twos complement Bitwise Operations Bitwise AND Similar

### IEEE Standard 754 Floating Point Numbers

IEEE Standard 754 Floating Point Numbers Steve Hollasch / Last update 2005-Feb-24 IEEE Standard 754 floating point is the most common representation today for real numbers on computers, including Intel-based

### Bits, Bytes, and Integers Part 2

Bits, Bytes, and Integers Part 2 15-213: Introduction to Computer Systems 3 rd Lecture, Jan. 23, 2018 Instructors: Franz Franchetti, Seth Copen Goldstein, Brian Railing 1 First Assignment: Data Lab Due:

### A complement number system is used to represent positive and negative integers. A complement number system is based on a fixed length representation

Complement Number Systems A complement number system is used to represent positive and negative integers A complement number system is based on a fixed length representation of numbers Pretend that integers

### 1010 2?= ?= CS 64 Lecture 2 Data Representation. Decimal Numbers: Base 10. Reading: FLD Digits: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9

CS 64 Lecture 2 Data Representation Reading: FLD 1.2-1.4 Decimal Numbers: Base 10 Digits: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 Example: 3271 = (3x10 3 ) + (2x10 2 ) + (7x10 1 ) + (1x10 0 ) 1010 10?= 1010 2?= 1

### CS61C L10 MIPS Instruction Representation II, Floating Point I (6)

CS61C L1 MIPS Instruction Representation II, Floating Point I (1) inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures Lecture #1 Instruction Representation II, Floating Point I 25-1-3 There is one

### Giving credit where credit is due

CSCE 230J Computer Organization Floating Point Dr. Steve Goddard goddard@cse.unl.edu http://cse.unl.edu/~goddard/courses/csce230j Giving credit where credit is due Most of slides for this lecture are based

### System Programming CISC 360. Floating Point September 16, 2008

System Programming CISC 360 Floating Point September 16, 2008 Topics IEEE Floating Point Standard Rounding Floating Point Operations Mathematical properties Powerpoint Lecture Notes for Computer Systems:

### CS101 Lecture 04: Binary Arithmetic

CS101 Lecture 04: Binary Arithmetic Binary Number Addition Two s complement encoding Briefly: real number representation Aaron Stevens (azs@bu.edu) 25 January 2013 What You ll Learn Today Counting in binary

### Floating Point Representation. CS Summer 2008 Jonathan Kaldor

Floating Point Representation CS3220 - Summer 2008 Jonathan Kaldor Floating Point Numbers Infinite supply of real numbers Requires infinite space to represent certain numbers We need to be able to represent

### Numeric Precision 101

www.sas.com > Service and Support > Technical Support TS Home Intro to Services News and Info Contact TS Site Map FAQ Feedback TS-654 Numeric Precision 101 This paper is intended as a basic introduction

### Floating-Point Arithmetic

Floating-Point Arithmetic if ((A + A) - A == A) { SelfDestruct() } L11 Floating Point 1 What is the problem? Many numeric applications require numbers over a VERY large range. (e.g. nanoseconds to centuries)

### CSCI 2212: Intermediate Programming / C Chapter 15

... /34 CSCI 222: Intermediate Programming / C Chapter 5 Alice E. Fischer October 9 and 2, 25 ... 2/34 Outline Integer Representations Binary Integers Integer Types Bit Operations Applying Bit Operations

### D I G I T A L C I R C U I T S E E

D I G I T A L C I R C U I T S E E Digital Circuits Basic Scope and Introduction This book covers theory solved examples and previous year gate question for following topics: Number system, Boolean algebra,

### Floating Point. What can be represented in N bits? 0 to 2N-1. 9,349,398,989,787,762,244,859,087, x 1067

MIPS Floating Point Operations Cptr280 Dr Curtis Nelson Floating Point What can be represented in N bits? Unsigned 2 s Complement 0 to 2N-1-2N-1 to 2N-1-1 But, what about- Very large numbers? 9,349,398,989,787,762,244,859,087,678

### CHAPTER 2 Data Representation in Computer Systems

CHAPTER 2 Data Representation in Computer Systems 2.1 Introduction 37 2.2 Positional Numbering Systems 38 2.3 Decimal to Binary Conversions 38 2.3.1 Converting Unsigned Whole Numbers 39 2.3.2 Converting

### Administrivia. CMSC 216 Introduction to Computer Systems Lecture 24 Data Representation and Libraries. Representing characters DATA REPRESENTATION

Administrivia CMSC 216 Introduction to Computer Systems Lecture 24 Data Representation and Libraries Jan Plane & Alan Sussman {jplane, als}@cs.umd.edu Project 6 due next Friday, 12/10 public tests posted

### 1.1. Unit 1. Integer Representation

1.1 Unit 1 Integer Representation 1.2 Skills & Outcomes You should know and be able to apply the following skills with confidence Convert an unsigned binary number to and from decimal Understand the finite

### Math 230 Assembly Programming (AKA Computer Organization) Spring 2008

Math 230 Assembly Programming (AKA Computer Organization) Spring 2008 MIPS Intro II Lect 10 Feb 15, 2008 Adapted from slides developed for: Mary J. Irwin PSU CSE331 Dave Patterson s UCB CS152 M230 L10.1

### Floating-point representation

Lecture 3-4: Floating-point representation and arithmetic Floating-point representation The notion of real numbers in mathematics is convenient for hand computations and formula manipulations. However,

### 2 Computation with Floating-Point Numbers

2 Computation with Floating-Point Numbers 2.1 Floating-Point Representation The notion of real numbers in mathematics is convenient for hand computations and formula manipulations. However, real numbers

### Floating Point Numbers

Floating Point Floating Point Numbers Mathematical background: tional binary numbers Representation on computers: IEEE floating point standard Rounding, addition, multiplication Kai Shen 1 2 Fractional

### Number Systems and Conversions UNIT 1 NUMBER SYSTEMS & CONVERSIONS. Number Systems (2/2) Number Systems (1/2) Iris Hui-Ru Jiang Spring 2010

Contents Number systems and conversion Binary arithmetic Representation of negative numbers Addition of two s complement numbers Addition of one s complement numbers Binary s Readings Unit.~. UNIT NUMBER

### The Sign consists of a single bit. If this bit is '1', then the number is negative. If this bit is '0', then the number is positive.

IEEE 754 Standard - Overview Frozen Content Modified by on 13-Sep-2017 Before discussing the actual WB_FPU - Wishbone Floating Point Unit peripheral in detail, it is worth spending some time to look at

### CS61C : Machine Structures

inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures Lecture #10 Instruction Representation II, Floating Point I 2005-10-03 Lecturer PSOE, new dad Dan Garcia www.cs.berkeley.edu/~ddgarcia #9 bears

### But first, encode deck of cards. Integer Representation. Two possible representations. Two better representations WELLESLEY CS 240 9/8/15

Integer Representation Representation of integers: unsigned and signed Sign extension Arithmetic and shifting Casting But first, encode deck of cards. cards in suits How do we encode suits, face cards?

### Lecture 2: Number Systems

Lecture 2: Number Systems Syed M. Mahmud, Ph.D ECE Department Wayne State University Original Source: Prof. Russell Tessier of University of Massachusetts Aby George of Wayne State University Contents

### Computer arithmetics: integers, binary floating-point, and decimal floating-point

n!= 0 && -n == n z+1 == z Computer arithmetics: integers, binary floating-point, and decimal floating-point v+w-w!= v x+1 < x Peter Sestoft 2010-02-16 y!= y p == n && 1/p!= 1/n 1 Computer arithmetics Computer

### JAVA Programming Fundamentals

Chapter 4 JAVA Programming Fundamentals By: Deepak Bhinde PGT Comp.Sc. JAVA character set Character set is a set of valid characters that a language can recognize. It may be any letter, digit or any symbol

### CHAPTER 2 Data Representation in Computer Systems

CHAPTER 2 Data Representation in Computer Systems 2.1 Introduction 37 2.2 Positional Numbering Systems 38 2.3 Decimal to Binary Conversions 38 2.3.1 Converting Unsigned Whole Numbers 39 2.3.2 Converting

### Integer Representation

Integer Representation Representation of integers: unsigned and signed Modular arithmetic and overflow Sign extension Shifting and arithmetic Multiplication Casting 1 Fixed- width integer encodings Unsigned

### Floating point. Today. IEEE Floating Point Standard Rounding Floating Point Operations Mathematical properties Next time.

Floating point Today IEEE Floating Point Standard Rounding Floating Point Operations Mathematical properties Next time The machine model Fabián E. Bustamante, Spring 2010 IEEE Floating point Floating point

### Chapter 2 Bits, Data Types, and Operations

Chapter 2 Bits, Data Types, and Operations How do we represent data in a computer? At the lowest level, a computer is an electronic machine. works by controlling the flow of electrons Easy to recognize