Floating Point Arithmetic
|
|
- Maria Ray
- 6 years ago
- Views:
Transcription
1 Floating Point Arithmetic Clark N. Taylor Department of Electrical and Computer Engineering Brigham Young University 1 Introduction Numerical operations are something at which digital logic excels. However, all of the arithmetic you have previously learned to compute in digital hardware assumes integers as inputs and outputs. While integers are useful for many applications, many real applications require either more range than an integer can give or more accuracy. In these course notes, I will first discuss how the binary point does not always have to lie at the end of the number stored, enabling more accurate representations of numbers even when performing integer computations. However, this fixed point notation requires intimate knowledge by the hardware designer of the numerical characteristics of the inputs. Floating point allows for more flexibility, at the cost of more hardware. We will discuss how floating point data types are implemented in hardware and how operations on these numbers are performed. Finally, we will briefly look at the IEEE standard floating point types that are used in microprocessors today. 2 Fixed Point Numbers Using fixed point numbers is simply a way to utilize integer operations (add, multiply, etc.) for real (technically, rational) numbers. To explain this concept, I will use decimal numbers as examples, but the same concepts work for binary. Let us consider a great example of fixed point numbers, our currency system. Every number expressed as currency has two place values after the decimal point. As an example, consider the dollar amounts $ and $ To add these together, we simply align the decimal points and add them together, yielding (1) Performing this operation in fixed point simply switches the base unit to pennies. So, rather than dollars, we have 10,035 pennies. The new 1
2 operation becomes: (2) Because I know that this final number represents the number of pennies, I can easily convert it back to dollars, yielding $122.52, the same answer found when adding dollars in Equation (1). As a general principle, addition operations with real numbers can be performed using integer operations, but the numbers have to be converted to integers first. The user of the integer addition needs to ensure that the radix points are aligned before addition. We illustrate this with two examples. To generalize on the previous example of currency, if we have two numbers with any finite number of places after the radix point, we can convert the two numbers into integers by multiplying by b N, where b is the base and N is the number of points after the radix point. So, if I want to add two decimal numbers and , I simply multiply both by 10,000 to create integers. I then add these two numbers together (13,522 and 26,877) to give my fixed point answer, 40,399. To convert back to the real answer, I divide by 10,000, yielding If the two numbers to be operated on do not have the same number of digits after the decimal point, then the largest of the two numbers must be chosen and used as my operator. For example, if I am adding 10.2 and , I cannot multiply one by 10 and the other by 1000 before performing the addition as that would not align the decimal points. Therefore, I multiply both by 1000, leading to 10, , 456. The sum (40,656) is then divided by 1000 to yield When using a multiplication operator, fixed point is actually easier to implement (conceptually). When performing multiplication, the radix points do not need to be aligned. Instead, the total number of points after the decimal must be remembered and applied at the end. For example, has three total numbers after the decimal point. Therefore, we multiply 1, = and divide the answer by 1000, yielding Once again the user of the operators is responsible for maintaining the number of places after the radix point to ensure the final numerical results are meaningful. 3 Floating Point Numbers While fixed point numbers are very useful (and, as a side note, are typically used in designs where minimizing area / maximizing clock speed are the primary objectives), they do require the user to keep track of the radix point of all incoming and outgoing operations. This makes it specific to a certain type of number coming in. For example, if designing hardware and we know that inputs are always going to be between -1 and 1, and the integer multiplier we are using is 16 bits, then I can always just multiply the inputs by 2 14 and have a 16 bit number. (2 bits are allocated to the range -1 to 1, the remaining 14 bits are for places after the radix point.) However, if the range of all inputs 2
3 s exponent mantissa Figure 1: A floating number with its three components: sign, exponent, and mantissa suddenly changes to between 0.0 and , note that the first 10 bits of the maximum value will always be zero. So, multiplying by 2 14 will not effectively use the top 12 bits of the multiplier as the top 12 bits will always be zero. Therefore, I would like to have the hardware determine, at the time of computation, what range it should use. To enable this flexibility, we will store a number with two parts. First, the mantissa or integer part of the number. Second, the exponent part which tells where the radix point should be in relationship to the integer. In addition, floating point mantissas are typically stored in sign-magnitude representation, so the mantissa is the magnitude and one other bit is used for the sign. The exponent on the other hand is usually signed. Figure 1 demonstrates a typical floating point number divided into sign, mantissa, and exponent. Each number that is stored in floating point can be written out in full form as: n = s m 2 e, (3) where n is the number represented by the floating point value, m is the value in the mantissa, and e is the value in the exponent. Note that in its current form, there is an ambiguity where the same number can be represented multiple different ways in the floating point representation. For example, the number 0.5 could be expressed by at least the following floating point representations. s m e (4) To overcome this ambiguity, the mantissa of a floating point number is defined as 1.xxxxxx. By forcing the mantissa to always have a 1 in the first digit and the binary point immediately afterwards, floating point representations of numbers become unique. In addition, because the first digit is 1, it does not actually need to be stored, essentially giving you an extra digit of precision in the mantissa without any storage cost. Now that we have the floating point representation defined, let us discuss how operations are performed on these numbers. First, let us consider addition. As shown before with fixed point numbers, the decimal points must be aligned before addition can occur. Therefore, the following steps are used for floating point addition. 3
4 1. The two exponents of the numbers are compared. We will call the number with the larger exponent A and the smaller exponent B. The output exponent is set to A s exponent. 2. B s mantissa is shifted so that the exponents would be the same. Note that this has to be expanded to include the implied 1 before the shifting operation occurs. 3. The two mantissas (one with the implied one pre-pended, the other after pre-pending and shifting) are added together using a sign-magnitude adder. 4. The result of this addition is shifted to be of the 1.xxxx format and the exponent from A is modified to record the shift. Let us walk through a simple example where we add together 7 and 3, represented in floating point. For making things simple, we will assume that the exponent is 3 bits and the mantissa is 5. The floating point representation for 7 will be s = 0, e = 010, m = and for 3 will be s = 0, e = 001, and m = To add these numbers together, the mantissas first have to be changed into their full form by adding a 1 at the beginning. Internally the two mantissas become for 7 and for 3. Because 7 has the larger exponent, we shift 3 s mantissa over one, becoming and set the preliminary output exponent to 010 (from 7). After adding the two mantissas, we obtain Note that some bit growth has occurred. Therefore, to set the left-most digit to one, we must increase the exponent by one, making the output exponent 011. Therefore, the final floating point number becomes s = 0, e = 011, m = There are several important facts to notice about floating point addition. Some of these include: 1. To align the mantissas and to normalize at the end requires a barrel shifter when implementing in hardware. Due to this extra hardware, floating point addition is a hardware-intensive operation. 2. Adjusting the mantissa to align the decimal points and when normalizing the result at the end can result in accuracy loses. 3. Subtracting two numbers of very similar magnitude can result in severe accuracy loses. For example, when subtracting 55 from 54, both numbers have 6 bits of accuracy to begin with, but will essentially end with only 1 bit of accuracy. By comparison, multiplication is conceptually much easier to implement in floating point. Because the mantissas do not need to be aligned prior to multiplication, the mantissas are simply multiplied together and the exponents added together. The result of the multiplication operation is normalized to place a one in the left-most digit. Note that because floating point numbers are stored in sign-magnitude format, determining the sign of the output in multiplication is trivial. 4
5 4 IEEE Floating Point In addition to understanding how general floating point numbers work as described in the previous section, it is also important to understand how the floating point numbers used in everyday computers work. To ensure that floating point operations were general across computers, floating point representations and their operations were standardized by the IEEE (IEEE Std 754). The float used in C is specified by the IEEE 754 standard to be a total of 32 bits. The first bit is the sign bit, the following 8 bits are the exponent bits, with the remaining 23 bits being used for the mantissa. For a double, there are a total of 64 bits, with the first bit being the sign bit, the next 11 bits for the exponent, and the remaining 52 bits for the mantissa. In general, the IEEE floating point numbers act the same as any floating point number described in the previous section. However, there are several unique differences that must be considered when implementing IEEE numbers. First, the exponent in the IEEE standard is not stored in 2 s component form as might be expected. Instead, all exponents are stored in an unsigned notation and have 2 e 1 1 ( where e is the size of the exponent) subtracted from them to yield the final exponent. So, for floats, each exponent stored has 127 subtracted from it, making the range of possible exponents -127 to 128. However, an exponent of 0 or 2 e 1 is used to denote special case numbers, leading to a range of -126 to 127. Similarly, for the 64 bit IEEE floating point number, each exponent has 1023 subtracted from it, leading to an effective range of to 1023 for the exponents. Throughout the rest of these notes, I will use the values for the 32-bit IEEE standard (e.g., -126 and 127), but the same principles apply for the 64-bit IEEE numbers. Second, there are several special cases defined in the IEEE standard that must be considered when implementing IEEE floating point operations. These are indicated by placing either a 0 or 2 e 1 (255) in the exponent field. The special cases and their representations are: Special Case Exponent Mantissa Zero 0 0 Really Small (Denormalized) Numbers 0 non-zero Infinities 2 e 1 0 Not A Number (NaN) 2 e 1 non-zero These special cases can be described as follows: Zeros is present because with the implied 1 before any value stored in the mantissa, 0 cannot technically be represented in floating point notation; only numbers really close to zero ( for 32 bit floating point numbers) can be represented. Therefore, a special case was designed to give a true representation of zero. Note, however, that both a positive and negative zero exist due to the use of the sign-magnitude form. Really Small (Denormalized) Numbers. To allow for numbers that are even smaller than 2 126, the IEEE standard allows for numbers that do 5
6 not have the implied 1 at the beginning. The mantissa then represents the true value times Therefore, with 23 bits of accuracy in the mantissa, it can represent numbers all the way down to Infinities and Not a Number (NaN) are used to capture overflow types of problems and prevent them from propagating with the user being aware. Infinities are generally assigned to outputs when the operations entails a very large number divided by a very small number (such that the exponent cannot be stored in e bits) or when an infinity is added to another number. NaN is generated when an illegal (or indeterminate) operation has occurred, such as the square root of a negative number, 0 divided by 0, or infinity minus infinity. Operations with Infinity or NaN as an input will generally output the special case as well, ensuring that bad numbers do not corrupt the computations. In addition to specifying special cases, the IEEE standard also specified how rounding should occur. Rounding occurs a number has to be placed in a certain length storage unit, but currently has more bits than the storage unit has available. Two examples of when this occurs which we have already discussed are (1) when the mantissa of a number is shifted right to align binary points, meaning that more bits of precision are available than can be added together; and (2) when the output of a multiply operation is turned into a single floating point number as something twice the width of the mantissa was generated by the multiply. When rounding, IEEE numbers round to the nearest digit (as you would expect.) Another special case specified by the IEEE standard is if the number being rounded is actually.5 (represented by a one right after the point being rounded to and all 0 s afterwards). In this case, it always rounds to the nearest even digit, leaving a 0 in the last digit of the mantissa. 5 Conclusion In these course notes, we have discussed fixed and floating point numbers and briefly introduced the hardware required to deal with floating point numbers. In addition, we have looked at the IEEE standard for floating point numbers and discussed some of the unique aspects of this standard. 6
FLOATING POINT NUMBERS
Exponential Notation FLOATING POINT NUMBERS Englander Ch. 5 The following are equivalent representations of 1,234 123,400.0 x 10-2 12,340.0 x 10-1 1,234.0 x 10 0 123.4 x 10 1 12.34 x 10 2 1.234 x 10 3
More informationOperations On Data CHAPTER 4. (Solutions to Odd-Numbered Problems) Review Questions
CHAPTER 4 Operations On Data (Solutions to Odd-Numbered Problems) Review Questions 1. Arithmetic operations interpret bit patterns as numbers. Logical operations interpret each bit as a logical values
More informationFloating 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
More informationFloating-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
More informationFloating-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
More informationECE232: Hardware Organization and Design
ECE232: Hardware Organization and Design Lecture 11: Floating Point & Floating Point Addition Adapted from Computer Organization and Design, Patterson & Hennessy, UCB Last time: Single Precision Format
More informationDivide: Paper & Pencil
Divide: Paper & Pencil 1001 Quotient Divisor 1000 1001010 Dividend -1000 10 101 1010 1000 10 Remainder See how big a number can be subtracted, creating quotient bit on each step Binary => 1 * divisor or
More informationCS101 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
More informationCSCI 402: Computer Architectures. Arithmetic for Computers (3) Fengguang Song Department of Computer & Information Science IUPUI.
CSCI 402: Computer Architectures Arithmetic for Computers (3) Fengguang Song Department of Computer & Information Science IUPUI 3.5 Today s Contents Floating point numbers: 2.5, 10.1, 100.2, etc.. How
More informationFloating Point January 24, 2008
15-213 The course that gives CMU its Zip! Floating Point January 24, 2008 Topics IEEE Floating Point Standard Rounding Floating Point Operations Mathematical properties class04.ppt 15-213, S 08 Floating
More information15213 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
More informationSigned 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,
More informationNumber 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,
More informationChapter 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
More informationIEEE 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
More informationFinite arithmetic and error analysis
Finite arithmetic and error analysis Escuela de Ingeniería Informática de Oviedo (Dpto de Matemáticas-UniOvi) Numerical Computation Finite arithmetic and error analysis 1 / 45 Outline 1 Number representation:
More informationCO212 Lecture 10: Arithmetic & Logical Unit
CO212 Lecture 10: Arithmetic & Logical Unit Shobhanjana Kalita, Dept. of CSE, Tezpur University Slides courtesy: Computer Architecture and Organization, 9 th Ed, W. Stallings Integer Representation For
More informationUNIVERSITY OF MASSACHUSETTS Dept. of Electrical & Computer Engineering. Digital Computer Arithmetic ECE 666
UNIVERSITY OF MASSACHUSETTS Dept. of Electrical & Computer Engineering Digital Computer Arithmetic ECE 666 Part 4-A Floating-Point Arithmetic Israel Koren ECE666/Koren Part.4a.1 Preliminaries - Representation
More informationNumber Systems Standard positional representation of numbers: An unsigned number with whole and fraction portions is represented as:
N Number Systems Standard positional representation of numbers: An unsigned number with whole and fraction portions is represented as: a n a a a The value of this number is given by: = a n Ka a a a a a
More informationFloating Point Puzzles. Lecture 3B Floating Point. IEEE Floating Point. Fractional Binary Numbers. Topics. IEEE Standard 754
Floating Point Puzzles Topics Lecture 3B Floating Point IEEE Floating Point Standard Rounding Floating Point Operations Mathematical properties For each of the following C expressions, either: Argue that
More informationData Representation Type of Data Representation Integers Bits Unsigned 2 s Comp Excess 7 Excess 8
Data Representation At its most basic level, all digital information must reduce to 0s and 1s, which can be discussed as binary, octal, or hex data. There s no practical limit on how it can be interpreted
More informationFloating Point (with contributions from Dr. Bin Ren, William & Mary Computer Science)
Floating Point (with contributions from Dr. Bin Ren, William & Mary Computer Science) Floating Point Background: Fractional binary numbers IEEE floating point standard: Definition Example and properties
More informationCharacters, 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
More informationFloating Point Arithmetic. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University
Floating Point Arithmetic Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Floating Point (1) Representation for non-integral numbers Including very
More informationComputer Architecture and IC Design Lab. Chapter 3 Part 2 Arithmetic for Computers Floating Point
Chapter 3 Part 2 Arithmetic for Computers Floating Point Floating Point Representation for non integral numbers Including very small and very large numbers 4,600,000,000 or 4.6 x 10 9 0.0000000000000000000000000166
More informationFloating Point. CSE 351 Autumn Instructor: Justin Hsia
Floating Point CSE 351 Autumn 2016 Instructor: Justin Hsia Teaching Assistants: Chris Ma Hunter Zahn John Kaltenbach Kevin Bi Sachin Mehta Suraj Bhat Thomas Neuman Waylon Huang Xi Liu Yufang Sun http://xkcd.com/899/
More informationFloating 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
More informationCPE 323 REVIEW DATA TYPES AND NUMBER REPRESENTATIONS IN MODERN COMPUTERS
CPE 323 REVIEW DATA TYPES AND NUMBER REPRESENTATIONS IN MODERN COMPUTERS Aleksandar Milenković The LaCASA Laboratory, ECE Department, The University of Alabama in Huntsville Email: milenka@uah.edu Web:
More informationFloating-point representations
Lecture 10 Floating-point representations Methods of representing real numbers (1) 1. Fixed-point number system limited range and/or limited precision results must be scaled 100101010 1111010 100101010.1111010
More information4 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.
More informationFloating-point representations
Lecture 10 Floating-point representations Methods of representing real numbers (1) 1. Fixed-point number system limited range and/or limited precision results must be scaled 100101010 1111010 100101010.1111010
More informationCPE 323 REVIEW DATA TYPES AND NUMBER REPRESENTATIONS IN MODERN COMPUTERS
CPE 323 REVIEW DATA TYPES AND NUMBER REPRESENTATIONS IN MODERN COMPUTERS Aleksandar Milenković The LaCASA Laboratory, ECE Department, The University of Alabama in Huntsville Email: milenka@uah.edu Web:
More informationCOMP2611: Computer Organization. Data Representation
COMP2611: Computer Organization Comp2611 Fall 2015 2 1. Binary numbers and 2 s Complement Numbers 3 Bits: are the basis for binary number representation in digital computers What you will learn here: How
More informationThe ALU consists of combinational logic. Processes all data in the CPU. ALL von Neuman machines have an ALU loop.
CS 320 Ch 10 Computer Arithmetic The ALU consists of combinational logic. Processes all data in the CPU. ALL von Neuman machines have an ALU loop. Signed integers are typically represented in sign-magnitude
More informationChapter 2 Float Point Arithmetic. Real Numbers in Decimal Notation. Real Numbers in Decimal Notation
Chapter 2 Float Point Arithmetic Topics IEEE Floating Point Standard Fractional Binary Numbers Rounding Floating Point Operations Mathematical properties Real Numbers in Decimal Notation Representation
More informationCHAPTER 5: Representing Numerical Data
CHAPTER 5: Representing Numerical Data The Architecture of Computer Hardware and Systems Software & Networking: An Information Technology Approach 4th Edition, Irv Englander John Wiley and Sons 2010 PowerPoint
More information2 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
More informationFixed Point. Basic idea: Choose a xed place in the binary number where the radix point is located. For the example above, the number is
Real Numbers How do we represent real numbers? Several issues: How many digits can we represent? What is the range? How accurate are mathematical operations? Consistency... Is a + b = b + a? Is (a + b)
More informationFloating 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
More informationNumber 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
More informationNumeric Encodings Prof. James L. Frankel Harvard University
Numeric Encodings Prof. James L. Frankel Harvard University Version of 10:19 PM 12-Sep-2017 Copyright 2017, 2016 James L. Frankel. All rights reserved. Representation of Positive & Negative Integral and
More informationFloating-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,
More informationChapter 4. Operations on Data
Chapter 4 Operations on Data 1 OBJECTIVES After reading this chapter, the reader should be able to: List the three categories of operations performed on data. Perform unary and binary logic operations
More information2 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
More informationData 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:
More informationChapter Three. Arithmetic
Chapter Three 1 Arithmetic Where we've been: Performance (seconds, cycles, instructions) Abstractions: Instruction Set Architecture Assembly Language and Machine Language What's up ahead: Implementing
More informationData 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:
More informationFloating 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
More informationSystem 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:
More informationFloating 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
More informationSystems 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
More informationChapter 3: Arithmetic for Computers
Chapter 3: Arithmetic for Computers Objectives Signed and Unsigned Numbers Addition and Subtraction Multiplication and Division Floating Point Computer Architecture CS 35101-002 2 The Binary Numbering
More informationAdding Binary Integers. Part 5. Adding Base 10 Numbers. Adding 2's Complement. Adding Binary Example = 10. Arithmetic Logic Unit
Part 5 Adding Binary Integers Arithmetic Logic Unit = Adding Binary Integers Adding Base Numbers Computer's add binary numbers the same way that we do with decimal Columns are aligned, added, and "'s"
More informationFloating-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
More informationInf2C - 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
More informationCS429: Computer Organization and Architecture
CS429: Computer Organization and Architecture Dr. Bill Young Department of Computer Sciences University of Texas at Austin Last updated: September 18, 2017 at 12:48 CS429 Slideset 4: 1 Topics of this Slideset
More informationC NUMERIC FORMATS. Overview. IEEE Single-Precision Floating-point Data Format. Figure C-0. Table C-0. Listing C-0.
C NUMERIC FORMATS Figure C-. Table C-. Listing C-. Overview The DSP supports the 32-bit single-precision floating-point data format defined in the IEEE Standard 754/854. In addition, the DSP supports an
More informationFloating Point Puzzles. Lecture 3B Floating Point. IEEE Floating Point. Fractional Binary Numbers. Topics. IEEE Standard 754
Floating Point Puzzles Topics Lecture 3B Floating Point IEEE Floating Point Standard Rounding Floating Point Operations Mathematical properties For each of the following C expressions, either: Argue that
More informationCS 261 Fall Floating-Point Numbers. Mike Lam, Professor.
CS 261 Fall 2018 Mike Lam, Professor https://xkcd.com/217/ Floating-Point Numbers Floating-point Topics Binary fractions Floating-point representation Conversions and rounding error Binary fractions Now
More informationComputer Architecture Chapter 3. Fall 2005 Department of Computer Science Kent State University
Computer Architecture Chapter 3 Fall 2005 Department of Computer Science Kent State University Objectives Signed and Unsigned Numbers Addition and Subtraction Multiplication and Division Floating Point
More informationNumber Systems. Both numbers are positive
Number Systems Range of Numbers and Overflow When arithmetic operation such as Addition, Subtraction, Multiplication and Division are performed on numbers the results generated may exceed the range of
More informationFloating Point. CSE 351 Autumn Instructor: Justin Hsia
Floating Point CSE 351 Autumn 2017 Instructor: Justin Hsia Teaching Assistants: Lucas Wotton Michael Zhang Parker DeWilde Ryan Wong Sam Gehman Sam Wolfson Savanna Yee Vinny Palaniappan http://xkcd.com/571/
More informationCS & IT Conversions. Magnitude 10,000 1,
CS & IT Conversions There are several number systems that you will use when working with computers. These include decimal, binary, octal, and hexadecimal. Knowing how to convert between these number systems
More informationCS 101: Computer Programming and Utilization
CS 101: Computer Programming and Utilization Jul-Nov 2017 Umesh Bellur (cs101@cse.iitb.ac.in) Lecture 3: Number Representa.ons Representing Numbers Digital Circuits can store and manipulate 0 s and 1 s.
More informationFoundations of Computer Systems
18-600 Foundations of Computer Systems Lecture 4: Floating Point Required Reading Assignment: Chapter 2 of CS:APP (3 rd edition) by Randy Bryant & Dave O Hallaron Assignments for This Week: Lab 1 18-600
More informationECE 2030B 1:00pm Computer Engineering Spring problems, 5 pages Exam Two 10 March 2010
Instructions: This is a closed book, closed note exam. Calculators are not permitted. If you have a question, raise your hand and I will come to you. Please work the exam in pencil and do not separate
More informationEE 109 Unit 19. IEEE 754 Floating Point Representation Floating Point Arithmetic
1 EE 109 Unit 19 IEEE 754 Floating Point Representation Floating Point Arithmetic 2 Floating Point Used to represent very small numbers (fractions) and very large numbers Avogadro s Number: +6.0247 * 10
More informationModule 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
More information8/30/2016. In Binary, We Have A Binary Point. ECE 120: Introduction to Computing. Fixed-Point Representations Support Fractions
University of Illinois at Urbana-Champaign Dept. of Electrical and Computer Engineering ECE 120: Introduction to Computing Fixed- and Floating-Point Representations In Binary, We Have A Binary Point Let
More informationComputer Arithmetic Ch 8
Computer Arithmetic Ch 8 ALU Integer Representation Integer Arithmetic Floating-Point Representation Floating-Point Arithmetic 1 Arithmetic Logical Unit (ALU) (2) (aritmeettis-looginen yksikkö) Does all
More informationComputer Arithmetic Ch 8
Computer Arithmetic Ch 8 ALU Integer Representation Integer Arithmetic Floating-Point Representation Floating-Point Arithmetic 1 Arithmetic Logical Unit (ALU) (2) Does all work in CPU (aritmeettis-looginen
More informationFloating Point. CSE 351 Autumn Instructor: Justin Hsia
Floating Point CSE 351 Autumn 2017 Instructor: Justin Hsia Teaching Assistants: Lucas Wotton Michael Zhang Parker DeWilde Ryan Wong Sam Gehman Sam Wolfson Savanna Yee Vinny Palaniappan Administrivia Lab
More informationFloating 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
More informationVTU NOTES QUESTION PAPERS NEWS RESULTS FORUMS Arithmetic (a) The four possible cases Carry (b) Truth table x y
Arithmetic A basic operation in all digital computers is the addition and subtraction of two numbers They are implemented, along with the basic logic functions such as AND,OR, NOT,EX- OR in the ALU subsystem
More information9/3/2015. Data Representation II. 2.4 Signed Integer Representation. 2.4 Signed Integer Representation
Data Representation II CMSC 313 Sections 01, 02 The conversions we have so far presented have involved only unsigned numbers. To represent signed integers, computer systems allocate the high-order bit
More informationCS 261 Fall Floating-Point Numbers. Mike Lam, Professor. https://xkcd.com/217/
CS 261 Fall 2017 Mike Lam, Professor https://xkcd.com/217/ Floating-Point Numbers Floating-point Topics Binary fractions Floating-point representation Conversions and rounding error Binary fractions Now
More informationFloating-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
More information3.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
More information4 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.
More informationFloating Point Considerations
Chapter 6 Floating Point Considerations In the early days of computing, floating point arithmetic capability was found only in mainframes and supercomputers. Although many microprocessors designed in the
More informationFloating 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:
More informationMath 340 Fall 2014, Victor Matveev. Binary system, round-off errors, loss of significance, and double precision accuracy.
Math 340 Fall 2014, Victor Matveev Binary system, round-off errors, loss of significance, and double precision accuracy. 1. Bits and the binary number system A bit is one digit in a binary representation
More informationMIPS Integer ALU Requirements
MIPS Integer ALU Requirements Add, AddU, Sub, SubU, AddI, AddIU: 2 s complement adder/sub with overflow detection. And, Or, Andi, Ori, Xor, Xori, Nor: Logical AND, logical OR, XOR, nor. SLTI, SLTIU (set
More informationFloating Point Numbers
Floating Point Numbers Computer Systems Organization (Spring 2016) CSCI-UA 201, Section 2 Instructor: Joanna Klukowska Slides adapted from Randal E. Bryant and David R. O Hallaron (CMU) Mohamed Zahran
More informationFloating Point Numbers
Floating Point Numbers Computer Systems Organization (Spring 2016) CSCI-UA 201, Section 2 Fractions in Binary Instructor: Joanna Klukowska Slides adapted from Randal E. Bryant and David R. O Hallaron (CMU)
More informationGiving 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
More information±M R ±E, S M CHARACTERISTIC MANTISSA 1 k j
ENEE 350 c C. B. Silio, Jan., 2010 FLOATING POINT REPRESENTATIONS It is assumed that the student is familiar with the discussion in Appendix B of the text by A. Tanenbaum, Structured Computer Organization,
More informationReal Numbers finite subset real numbers floating point numbers Scientific Notation fixed point numbers
Real Numbers We have been studying integer arithmetic up to this point. We have discovered that a standard computer can represent a finite subset of the infinite set of integers. The range is determined
More informationNumber Systems CHAPTER Positional Number Systems
CHAPTER 2 Number Systems Inside computers, information is encoded as patterns of bits because it is easy to construct electronic circuits that exhibit the two alternative states, 0 and 1. The meaning of
More information1. 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
More informationGiving credit where credit is due
JDEP 284H Foundations of Computer Systems Floating Point Dr. Steve Goddard goddard@cse.unl.edu Giving credit where credit is due Most of slides for this lecture are based on slides created by Drs. Bryant
More informationXPLANATION: FPGA 101. The Basics of. by Adam Taylor Principal Engineer EADS Astrium FPGA Mathematics
The Basics of by Adam Taylor Principal Engineer EADS Astrium aptaylor@theiet.org FPGA Mathematics 44 Xcell Journal Third Quarter 2012 One of the main advantages of the FPGA is its ability to perform mathematical
More informationFloating Point Representation in Computers
Floating Point Representation in Computers Floating Point Numbers - What are they? Floating Point Representation Floating Point Operations Where Things can go wrong What are Floating Point Numbers? Any
More informationCMPSCI 145 MIDTERM #2 SPRING 2017 April 7, 2017 Professor William T. Verts NAME PROBLEM SCORE POINTS GRAND TOTAL 100
CMPSCI 145 MIDTERM #2 SPRING 2017 April 7, 2017 NAME PROBLEM SCORE POINTS 1 15+5 2 25 3 20 4 10 5 18 6 12 GRAND TOTAL 100 15 Points Answer 15 of the following problems (1 point each). Answer more than
More informationIEEE 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
More informationScientific 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
More informationINTEGER REPRESENTATIONS
INTEGER REPRESENTATIONS Unsigned Representation (B2U). Two s Complement (B2T). Signed Magnitude (B2S). Ones Complement (B2O). scheme size in bits (w) minimum value maximum value B2U 5 0 31 B2U 8 0 255
More informationComputer 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
More informationFloating Point Arithmetic
Floating Point Arithmetic Jinkyu Jeong (jinkyu@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu EEE3050: Theory on Computer Architectures, Spring 2017, Jinkyu Jeong (jinkyu@skku.edu)
More informationIntroduction to Computers and Programming. Numeric Values
Introduction to Computers and Programming Prof. I. K. Lundqvist Lecture 5 Reading: B pp. 47-71 Sept 1 003 Numeric Values Storing the value of 5 10 using ASCII: 00110010 00110101 Binary notation: 00000000
More information