# Computer Numbers and their Precision, I Number Storage

Save this PDF as:

Size: px
Start display at page:

Download "Computer Numbers and their Precision, I Number Storage"

## Transcription

1 Computer Numbers and their Precision, I Number Storage Learning goal: To understand how the ways computers store numbers lead to limited precision and how that introduces errors into calculations. Learning objective Computational and mathematical objectives: To understand that exact or whole numbers can be stored as integers. To understand that the division of two integers is always rounded down to a smaller integer. To understand that numbers can also be stored in scientific or engineering notation (floating point numbers). To understand the advantages and disadvantages of floating point numbers. To understand that computer errors occur when an integer becomes too large, or too negative. To understand that computer errors known as overflow occur when the exponent of a floating point number becomes too large. To understand that computer errors known as underflow occur when the exponent of a floating point number becomes too negative. To understand that truncation or roundoff occurs when the mantissa of a floating point number becomes too long. To understand some of the consequences of the roundoff of floating point numbers. Science model/computation objectives: We present a model in which the complexities of the computer storage of floating point numbers are reduced to knowing a single number called the machine precision, which the student is asked to determine empirically.. To understand that just as laboratory experiments always have limits on the precision of their measurements, so too do computer simulations have limits on the precision of their numbers. To understand the difference between precision and accuracy. Students will practice the following scientific skills: o Doing numerical experiments on the computer. Activities In this lesson, students will: Perform calculations on the computer as experiments to determine the computer s limits in regard to the storage of numbers. Perform numerical calculations to see how the rules of mathematics are implemented. Sum the series for the sine function to see the effect of error accumulation. 1

2 Products? Where s Computational Scientific Thinking and Intuition Development Understanding that computers are finite and therefore have limits that affect calculations. Being cognizant that uncertainties in numerical calculations are unavoidable. Understanding how to obtain meaningful results even with a computer s limited precision. Understanding the range of numbers that may be necessary to describe a natural phenomenon. Background It is expected students understand some basic aspects of numbers and their properties. In particular, they should be familiar with the real number systems, integers, rational numbers and irrational numbers, as well as the scientific representation of numbers. A review of these aspects can be found at [UNChem], where there is short Mathematics Review as well as some a useful Calculator Review. Landau s Rules of Education: Much of the educational philosophy applied in these modules is summarized by these three rules: 1. Most of education is learning what the words mean; the concepts are usually quite simple once you understand what you are being told. 2. Confusion is the first step to understanding. 3. Traumatic experiences tend to be the most educational ones. In colloquial usage, the terms accurate and precise are often used interchangeably. In computational science and engineering, precision usually indicates the number of significant figures or meaningful decimal places there are in a measurement or a calculation. In contrast, accuracy is more of a measure of how close a measurement of some quantity is to its true value. Likewise, accuracy sometimes refers to how close a theoretical description or model of some phenomena is to what might actually be happening in nature. You may think of precision as relating to the quality or capability of an instrument, but not necessarily as to whether the measured value is close to the true value. For example, we may have a watch that always reads exactly 11:00.00 AM when the sun is at its zenith, and does this year after year. Since there are approximately π 10 7 seconds in a year, this means that the watch has a precision of better than one part in a million, which is quite precise as it is quite repeatable. However, since the true time should be noon, the watch cannot be said to be an accurate measure of the time, although it would be accurate for measuring time differences. Computer Number Representations (Theory) Regardless of how powerful a computer may be, it is still finite. This means that the computer takes a finite time to complete an operation and that it has only a finite amount of space in which to store 2

3 things. Of course as computers and communication networks get faster, and as the available storage gets to be very large, a computer s response may seem to be instantaneous and its memory may seem to be endless, but if you try to do something like predict the weather from first principles or make a copy of a high-definition DVD, the computer s finiteness becomes evident. In this module we explore one aspect of the finiteness of computers, namely, how they store numbers. And because the basic scheme is used on computers of all sizes, the limitations related to this storage is universal and is often an essential element in learning to think computationally. The problem faced by computer designers is how to represent an arbitrary number using a finite amount of memory. Most computer memories contain magnetic materials in which elementary magnets are aligned to face either up or down. As a consequence, the most elementary units of computer memory are the two binary integers 0 and 1 that form the basis of the binary number system (representing all numbers with just two symbols). The phrase binary integer is usually abbreviated as the word bit. This in turn means that, ultimately, everything stored in a computer memory is just a long strings of zeros and ones, with each bit representing the number of times a power of 2 is to be added in. For example, the decimal 10 is the binary 1010, that is, 10 decimal = 1010 binary. Optional: We will leave discussion of the binary representation of numbers to a math class for now, but for the curious: (1) 1010 binary = , where (2) 2 3 = 8, 2 2 = 4, 2 1 = 2, 2 0 = 1, and (3) 10 decimal = , where (4) 10 1 = 10, 10 0 = 1. As a consequence of this scheme, N bits can store positive integers in the range 0-2 N. While it is no longer essential that you know how to convert numbers between different representations in order to compute (we could tell you war stories about that, but maybe another time), it often is essential to remember that numbers on a computer are stored using a finite number of bits, and that unless the number is a power of 2, the process of converting it to a decimal number introduces a small uncertainty. In computing, an uncertainty is often called an error, although this does not imply that anyone or any computer has done anything wrong. The number of bits that a computer or its operating system uses to store a number is called the word length. For example, you might have heard about 32 bit and 64 bit versions of the Windows operating systems. Well, these just refer to the length of the words that the computer processes. While we are talking about these sorts of things, we should mention that often word lengths or memory sizes are expressed in bytes (a mouthful of bits), where (5) 1 byte = 8 bits = B. 3

4 Conveniently, 1 byte is the amount of memory needed to store a single letter like ``a''. This adds up to a typical printed page requiring approximately 3000 B = 3 KB of storage. Of course with memory sizes continuing to grow, rather than bytes, you hear of kilobytes, megabytes or gigabytes, which mean one thousand, one million or one billion bytes (gega is used for billion since in Europe a billion means a million millions rather than our thousand millions). [If you want to be really technical, the kilobyte of computer memory is really 2 10 = 1024 bytes, but you do not have to worry about that.] Integer Storage In a mathematical sense, integers are real numbers (no imaginary parts) that do not contain a fractional or decimal part. They can be positive or negative and comprise the set {-,..., 2, 1, 0, 1, 2,... }. Integers are also are one of two ways to store numbers on a computer (we get to the second way soon). They are stored exactly, that is, with no fractional part, but because a finite number of bits used to represent them, they do not cover the entire range from - to +. Just what range they do cover, and what happens when you try to go beyond that range is something we shall leave for the exercises. In order to satisfy Landau s first rule of education, you should know that if you try to store a number larger than the hardware or software was designed for, what is called an overflow results. Likewise, if you try to store a number smaller than the hardware or software was designed for, what is called an underflow results. As we shall see, integers do not under- or overflow gracefully, and if either an underor overflow occur in a computation you are undertaking with integers, it is likely that your results are not meaningful ( garbage ). Using 64 bits permits integers in the range Integers in Python cover the range: (6) -2, 147, 483, 648 Integers +2, 147,483, 647 While at first this may seem like a large range, it really is not when compared to the range of sizes encountered in the physical world. As a case in point, the ratio of the size of the universe to the size of a proton is approximately ±10 41, which is way beyond what you can do with integers. Order of Operations Before we run headfirst into actually doing calculations on the computer, it is good to remind you that computers may be very powerful, but they still cannot figure out what you are thinking! (sorry Hal.) So even though you may know what you want when you write (7) =?, the computer may well find this ambiguous. Should it read the operations from left to right, as is done in English, or from right to left, as in done in Hebrew and Arabic? The general rule for order of operations is (8) Please Excuse My Dear Aunt Sally! 4

5 that is, Parentheses, Exponentiation, Multiplication or Division, Addition or Subtraction. This means first do any operation in parentheses, then do any exponentiation, etc. Accordingly the operation in equation 7 is equivalent to (9) 6 + (3 2) = = 12. Exercise: Aunt Sally 1) Use your handy calculator, and then computer, to evaluate i) ii) 6 + (3 2) iii) (6 + 3) 2 iv) v) 6 (3 +2) vi) Integer Arithmetic You can add, subtract and multiply integers on a computer and get just the results you would expect. In contrast, when you divide two integers and a remainder results, a decision must be made about what to do with the fractional part since integers do not have fractional parts. Most computer programs just throw away the fractional part, or in other words, the result is always rounded down, even if the fraction is greater than 0.5. For example, 6 c /2 c = 3 c, but 3 c /2 c = 1 c, where we use the subscript c to indicate that this is computer math. Exercise: Integer Arithmetic Now try some of these exercises on your computer to see the effect of Integer arithmetic =? 2. 6/2 =? 3. 3/2 =? 4. 8/3 =? 5. 2 (6/2) =? /2 =? 7. 2 (3/2) =? 8. 12/2/3 =? 9. 12/(2/3) =? 10. (12/2)/3 =? /(3/2) =? Note that the last 6 exercises are a little tricky in that they involve two arithmetic operations, with the final result possibly depending upon the order in which the operations are preformed. In exercise 5, the parenthesis makes it clear to the computer and you that you want 6 to be divided by 2 before the multiplication occurs. Exercise 6 should produce the same result since division is usually performed before multiplication, but it is always worth checking. In any case, because expressions like those in exercises 6 and 8 are ambiguous, it is we recommend using parenthesis to eliminate possible ambiguities. By the way, in exercise 8, divisions are performed from left to right and so the answer 5

6 should be 2. However, when the integer division in 9 within the parenthesis is carried out, the result is 0, and as you have seen, computers do not permit division by zero. Exercise: Determining Range of Integers Write a program, or sit at a terminal and do this by hand, and so determine experimentally the range of positive and negative integers on your computer system and for your computer language. (The simple Python program Limits.py given later can be modified for this purpose.) You can do this by successive multiplications by 2 until the results change abruptly, which is your signal that something not-quiteright has happened. A sample pseudocode is max = 1 min = -1. do 1 < i < N max = max *2. min = min * 2. write i, max, min end do Hint: we have indicated above that the integers in Python lies between 10 19, which is equivalent to approximately Floating-Point Numbers Figure 1 The approximate limits of double-precision (64 bit) floating-point numbers and the consequences of exceeding these limits. The hash marks represent the values of numbers that can be stored (approximately 16 decimal places); storing a number in between these values leads to round-off error. The shaded areas correspond to over- and underflow. Because integers are represented exactly on a computer, there is no loss of information when using them on a computer (at least if you remain within their range). Yet for many purposes the range of integers is too small, and of course many important numbers (like π) have fractional parts that cannot be represented an integer or even as the ratio of integers (rational numbers). So we also need a more powerful way to represent numbers on a computer. In practice, most scientific computations use the floating point representation of numbers, which otherwise is commonly known as scientific or engineering notation. For example, the speed of light c= m/s in scientific notation 6

7 or in engineering notation. In each of these cases, the number in front is called the mantissa and contains nine significant figures. The power to which 10 is raised is called the exponent, with the plus sign included as a reminder that these numbers may be negative: Floating Point Number = mantissa exponent Often on computers the power is indicated by the letter E meaning exponent; for example, c= E08 or E09. Indeed, deciding whether a number should be represented as an integer or a float is an important aspect of thinking computationally. The problem with using floating point numbers on a computer is that a fixed number of bits is used to represent the number, and so this limits the precision possible and the range of numbers possible. When 32 bits are used to store a floating-point number, we have what is called single precision, or singles, or just floats. When 64 bits are used to store a floating-point number, we have what is called double precision, or doubles. Some computer languages or applications like Maple and Mathematica permit the user to define the precision desired, but this is not usually employed since it slows down the calculation and sort of requires you to know the answer before doing the calculation. Most scientific computations require and use double precision (64 bits). Because only a finite number of bits are used to store the mantissa (the part in front), some numbers like π will have some of their digits furthest from the decimal point (their least significant parts) truncated, and thus will not be stored exactly. In Figure 1 we represent those numbers that can be stored exactly by the vertical hash marks. If the floating point number you try to store on the computer falls between two hash marks, some of the least significant digits are truncated and the number gets stored at the nearest has mark. For example, if you tried to store 1/3 = as a single precision float with 7 digit mantissa, it would be stored as , with nothing beyond the last 3. We have just described how truncation occurs when you try to store a number whose mantissa has more digits than the computer allows. Well, there is also a fixed number of digits allocated to store the exponent of a floating point number, and if you try to store more than that, something untoward happens. If your exponent is positive and is too big, an error condition known as overflow occurs. This usually causes your calculation to stop in its tracks, which is a good thing because otherwise the computer would just be producing garbage. If your exponent is a negative number with too large a magnitude (i.e. the number is too small is too small), an error condition known as underflow occurs. In this case the computer usually sets the full number to zero and continues with the calculation. This may result in some loss of precision, but probably will not produce garbage. The Institute of Electrical and Electronics Engineers (IEEE) has actually set standards for how computers and computer programs deal with floating point numbers. This means that running the same program on different computers should result in the same answers, even though the hardware and software may differ. As we shall define more carefully soon, the result may actually differ somewhat, but that difference would be smaller than the known precision of the floating point numbers being used. In addition, part of the IEEE standard calls for the symbol INF (for infinity) to occur if an overflow occurs, 7

8 and NAN (for not a number) to occur if you try to divide by zero. These symbols cannot be used in any further calculations, but are just given to tell you what the problem is. The actual limits for single and double precision numbers differ, with the increased length of double precision words leading to a greater range and an increased precision. Specifically, single-precision (32- bit) numbers have mantissas with 6.5 decimal places (not an exact number due to binary to decimal conversion), and exponents that limit their range to Single Precision Numbers Double precision (64 bit) numbers have mantissas with 16 decimal places, and exponents that limit their range to Double Precision Numbers But, do not believe everything we tell you. We will ask you to verify these limits for yourself. To repeat, serious scientific calculations almost always require at least 64-bit (double-precision) floats. And if you need double precision in one part of your calculation, you probably need it all over, which means double-precision library routines for all functions used as well. Python and the IEEE 754 Standard Python is a relatively recent language with changes and extensions occurring as its use spreads and as its features mature. It should be no surprise then that Python does not at present adhere to all aspects of the IEEE standard. Probably the most relevant difference for us is that Python does not support single (32 bit) precision floating point numbers. So when we deal with a data type called a float in Python, it is the equivalent of a double in the IEEE standard. Since singles are inadequate for most scientific computing, this is not a loss. However be wary, if you switch over to Java or C you should declare your variables as doubles and not as floats. Exercise: Over and Underflows 1. Write a program, or sit at a terminal and do this by hand, and test for the underflow and overflow limits (within a factor of 2) of your computer system. (The simple Python program Limits.py given later on can be modified for this purpose.) You can do this by successive multiplication and divisions by 2 until the computer tells you that something is wrong. A sample pseudocode is under = 1. over = 1. do 1 < i <N under = under/2. over = over * 2. write out: i, under, over end do 8

10 really precise, so getting the answer within a factor of 2 will be just fine. The basic idea is very simple: start with an arbitrary value of ε m, say ε m = 1, and add that to 1.0. If the answer is not 1.0, then make ε m smaller and again add it to 1.0. Keep repeating the process until you get 1.0 as an answer. The largest value of ε m for which this happens is your machine precision. Implementation Note, if you are doing this by entering the values of ε m by hand, you may want to divide by 10 each time until you get a gross answer, and then do some fine tuning. If you are writing a program, you can divide by 2 and just let the computer churn away for a long time. Here is a sample pseudo code (the basic elements of a computer program not specific to any language): eps = 1. do N times eps = eps/2. one = 1. + eps output one, eps end do # Make smaller # Write loop number, one, eps Python Implementation A model Python program than needs to be extended to actually determine the precision is Limits.py: # Limits.py: Increase N to determine approximate machine precision N = 3 eps = 1.0 for I in range(n): eps = eps/2 one = eps print('eps = ', eps, 'one = ', one) print("enter and return a character to finish") s=raw_input() Vensim: Excel: Summary and Conclusions You must know something about how computers store numbers in order to judge how reliable the results are. Unless you are carrying out symbolic manipulations, computed numbers are never exact, but can still be used to carry out calculations within a stated level of precision. Specifically, floating point numbers can give up to 16 places of precision, while integers can be exact, but have a much more limited range of values. Integers are thus appropriate for counting, such done when looping. 10

11 Where's Computational Scientific Thinking Understanding that computers are finite and therefore have limits. Being cognizant that uncertainties in numerical calculations are unavoidable. Understanding how it is possible to work within the limits of a computer to obtain meaningful results. Understanding the range of numbers that may be necessary to describe a natural phenomenon. Intuition Development References [CP] Landau, R.H., M.J. Paez and C.C. Bordeianu, (2008), A Survey of Computational Physics, Chapter 5, Princeton Univ. Press, Princeton. [UNChem] UNC-Chapel Hill Chemistry Fundamentals Program, Mathematics Review, Using Your Calculator, 11

### Chapter 2. Data Representation in Computer Systems

Chapter 2 Data Representation in Computer Systems Chapter 2 Objectives Understand the fundamentals of numerical data representation and manipulation in digital computers. Master the skill of converting

### Introduction to Scientific Computing Lecture 1

Introduction to Scientific Computing Lecture 1 Professor Hanno Rein Last updated: September 10, 2017 1 Number Representations In this lecture, we will cover two concept that are important to understand

### Math 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

### Topic Notes: Bits and Bytes and Numbers

Computer Science 220 Assembly Language & Comp Architecture Siena College Fall 2010 Topic Notes: Bits and Bytes and Numbers Binary Basics At least some of this will be review, but we will go over it for

### Chapter 1 Operations With Numbers

Chapter 1 Operations With Numbers Part I Negative Numbers You may already know what negative numbers are, but even if you don t, then you have probably seen them several times over the past few days. If

### Topic Notes: Bits and Bytes and Numbers

Computer Science 220 Assembly Language & Comp Architecture Siena College Fall 2011 Topic Notes: Bits and Bytes and Numbers Binary Basics At least some of this will be review for most of you, but we start

### 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

### fractional quantities are typically represented in computers using floating point format this approach is very much similar to scientific notation

Floating Point Arithmetic fractional quantities are typically represented in computers using floating point format this approach is very much similar to scientific notation for example, fixed point number

### 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

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

The type of all data used in a 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 There are

### Roundoff Errors and Computer Arithmetic

Jim Lambers Math 105A Summer Session I 2003-04 Lecture 2 Notes These notes correspond to Section 1.2 in the text. Roundoff Errors and Computer Arithmetic In computing the solution to any mathematical problem,

### Most nonzero floating-point numbers are normalized. This means they can be expressed as. x = ±(1 + f) 2 e. 0 f < 1

Floating-Point Arithmetic Numerical Analysis uses floating-point arithmetic, but it is just one tool in numerical computation. There is an impression that floating point arithmetic is unpredictable and

### 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

### Data Representation 1

1 Data Representation Outline Binary Numbers Adding Binary Numbers Negative Integers Other Operations with Binary Numbers Floating Point Numbers Character Representation Image Representation Sound Representation

### CCBC Math 081 Order of Operations Section 1.7. Step 2: Exponents and Roots Simplify any numbers being raised to a power and any numbers under the

CCBC Math 081 Order of Operations 1.7 1.7 Order of Operations Now you know how to perform all the operations addition, subtraction, multiplication, division, exponents, and roots. But what if we have a

### 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 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,

### Basics of Computation. PHY 604:Computational Methods in Physics and Astrophysics II

Basics of Computation Basics of Computation Computers store information and allow us to operate on it. That's basically it. Computers have finite memory, so it is not possible to store the infinite range

### (Refer Slide Time: 02:59)

Numerical Methods and Programming P. B. Sunil Kumar Department of Physics Indian Institute of Technology, Madras Lecture - 7 Error propagation and stability Last class we discussed about the representation

### 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

### 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

### Numerical computing. How computers store real numbers and the problems that result

Numerical computing How computers store real numbers and the problems that result The scientific method Theory: Mathematical equations provide a description or model Experiment Inference from data Test

### 9/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

### 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

### Dr. Relja Vulanovic Professor of Mathematics Kent State University at Stark c 2008

MATH-LITERACY MANUAL Dr. Relja Vulanovic Professor of Mathematics Kent State University at Stark c 2008 1 Real Numbers 1.1 Sets 1 1.2 Constants and Variables; Real Numbers 7 1.3 Operations with Numbers

### Divisibility Rules and Their Explanations

Divisibility Rules and Their Explanations Increase Your Number Sense These divisibility rules apply to determining the divisibility of a positive integer (1, 2, 3, ) by another positive integer or 0 (although

### 3.1 DATA REPRESENTATION (PART C)

3.1 DATA REPRESENTATION (PART C) 3.1.3 REAL NUMBERS AND NORMALISED FLOATING-POINT REPRESENTATION In decimal notation, the number 23.456 can be written as 0.23456 x 10 2. This means that in decimal notation,

### Mark Important Points in Margin. Significant Figures. Determine which digits in a number are significant.

Knowledge/Understanding: How and why measurements are rounded. Date: How rounding and significant figures relate to precision and uncertainty. When significant figures do not apply. Skills: Determine which

### 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

### 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

### Finite 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:

### LECTURE 0: Introduction and Background

1 LECTURE 0: Introduction and Background September 10, 2012 1 Computational science The role of computational science has become increasingly significant during the last few decades. It has become the

### Skill 1: Multiplying Polynomials

CS103 Spring 2018 Mathematical Prerequisites Although CS103 is primarily a math class, this course does not require any higher math as a prerequisite. The most advanced level of mathematics you'll need

### Computer Science 324 Computer Architecture Mount Holyoke College Fall Topic Notes: Bits and Bytes and Numbers

Computer Science 324 Computer Architecture Mount Holyoke College Fall 2007 Topic Notes: Bits and Bytes and Numbers Number Systems Much of this is review, given the 221 prerequisite Question: how high can

### Up next. Midterm. Today s lecture. To follow

Up next Midterm Next Friday in class Exams page on web site has info + practice problems Excited for you to rock the exams like you have been the assignments! Today s lecture Back to numbers, bits, data

### Watkins Mill High School. Algebra 2. Math Challenge

Watkins Mill High School Algebra 2 Math Challenge "This packet will help you prepare for Algebra 2 next fall. It will be collected the first week of school. It will count as a grade in the first marking

### Floating Point Arithmetic

Floating Point Arithmetic Clark N. Taylor Department of Electrical and Computer Engineering Brigham Young University clark.taylor@byu.edu 1 Introduction Numerical operations are something at which digital

### Floating 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

### Bits, Words, and Integers

Computer Science 52 Bits, Words, and Integers Spring Semester, 2017 In this document, we look at how bits are organized into meaningful data. In particular, we will see the details of how integers are

### VARIABLES. Aim Understanding how computer programs store values, and how they are accessed and used in computer programs.

Lesson 2 VARIABLES Aim Understanding how computer programs store values, and how they are accessed and used in computer programs. WHAT ARE VARIABLES? When you input data (i.e. information) into a computer

### MATH 353 Engineering mathematics III

MATH 353 Engineering mathematics III Instructor: Francisco-Javier Pancho Sayas Spring 2014 University of Delaware Instructor: Francisco-Javier Pancho Sayas MATH 353 1 / 20 MEET YOUR COMPUTER Instructor:

### 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

### Review Questions 26 CHAPTER 1. SCIENTIFIC COMPUTING

26 CHAPTER 1. SCIENTIFIC COMPUTING amples. The IEEE floating-point standard can be found in [131]. A useful tutorial on floating-point arithmetic and the IEEE standard is [97]. Although it is no substitute

### Divide: 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

### 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

### 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

### Section 1.4 Mathematics on the Computer: Floating Point Arithmetic

Section 1.4 Mathematics on the Computer: Floating Point Arithmetic Key terms Floating point arithmetic IEE Standard Mantissa Exponent Roundoff error Pitfalls of floating point arithmetic Structuring computations

### Computational Economics and Finance

Computational Economics and Finance Part I: Elementary Concepts of Numerical Analysis Spring 2015 Outline Computer arithmetic Error analysis: Sources of error Error propagation Controlling the error Rates

### Memory Addressing, Binary, and Hexadecimal Review

C++ By A EXAMPLE Memory Addressing, Binary, and Hexadecimal Review You do not have to understand the concepts in this appendix to become well-versed in C++. You can master C++, however, only if you spend

### 8/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

### MAT 003 Brian Killough s Instructor Notes Saint Leo University

MAT 003 Brian Killough s Instructor Notes Saint Leo University Success in online courses requires self-motivation and discipline. It is anticipated that students will read the textbook and complete sample

### 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

### CS321 Introduction To Numerical Methods

CS3 Introduction To Numerical Methods Fuhua (Frank) Cheng Department of Computer Science University of Kentucky Lexington KY 456-46 - - Table of Contents Errors and Number Representations 3 Error Types

### Real 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

### VHDL IMPLEMENTATION OF IEEE 754 FLOATING POINT UNIT

VHDL IMPLEMENTATION OF IEEE 754 FLOATING POINT UNIT Ms. Anjana Sasidharan Student, Vivekanandha College of Engineering for Women, Namakkal, Tamilnadu, India. Abstract IEEE-754 specifies interchange and

### 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

### 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

### Intermediate Algebra. Gregg Waterman Oregon Institute of Technology

Intermediate Algebra Gregg Waterman Oregon Institute of Technology c 2017 Gregg Waterman This work is licensed under the Creative Commons Attribution 4.0 International license. The essence of the license

### Floating Point. CSC207 Fall 2017

Floating Point CSC207 Fall 2017 Ariane 5 Rocket Launch Ariane 5 rocket explosion In 1996, the European Space Agency s Ariane 5 rocket exploded 40 seconds after launch. During conversion of a 64-bit to

### 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

### Lecture Objectives. Structured Programming & an Introduction to Error. Review the basic good habits of programming

Structured Programming & an Introduction to Error Lecture Objectives Review the basic good habits of programming To understand basic concepts of error and error estimation as it applies to Numerical Methods

### 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

### ROUNDING ERRORS LAB 1. OBJECTIVE 2. INTRODUCTION

ROUNDING ERRORS LAB Imagine you are traveling in Italy, and you are trying to convert \$27.00 into Euros. You go to the bank teller, who gives you 20.19. Your friend is with you, and she is converting \$2,700.00.

### Lecture Numbers. Richard E Sarkis CSC 161: The Art of Programming

Lecture Numbers Richard E Sarkis CSC 161: The Art of Programming Class Administrivia Agenda To understand the concept of data types To be familiar with the basic numeric data types in Python To be able

### Congruence Arithmetic

Module 4 Congruence Arithmetic Popper 4 Introduction to what is like Modulus choices Partitions by modulus Mod 5 Mod 7 Mod 30 Modular Arithmetic Addition Subtraction Multiplication INTEGERS! Mod 12 Cayley

### 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

### 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,

### Objectives. Connecting with Computer Science 2

Objectives Learn why numbering systems are important to understand Refresh your knowledge of powers of numbers Learn how numbering systems are used to count Understand the significance of positional value

### 1.1 Review of Place Value

1 1.1 Review of Place Value Our decimal number system is based upon powers of ten. In a given whole number, each digit has a place value, and each place value consists of a power of ten. Example 1 Identify

### Meeting 1 Introduction to Functions. Part 1 Graphing Points on a Plane (REVIEW) Part 2 What is a function?

Meeting 1 Introduction to Functions Part 1 Graphing Points on a Plane (REVIEW) A plane is a flat, two-dimensional surface. We describe particular locations, or points, on a plane relative to two number

### 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

### CGF Lecture 2 Numbers

CGF Lecture 2 Numbers Numbers A number is an abstract entity used originally to describe quantity. i.e. 80 Students etc The most familiar numbers are the natural numbers {0, 1, 2,...} or {1, 2, 3,...},

### Chapter 2 Using Data. Instructor s Manual Table of Contents. At a Glance. A Guide to this Instructor s Manual:

Java Programming, Eighth Edition 2-1 Chapter 2 Using Data A Guide to this Instructor s Manual: We have designed this Instructor s Manual to supplement and enhance your teaching experience through classroom

In this lesson you will learn: how to add and multiply positive binary integers how to work with signed binary numbers using two s complement how fixed and floating point numbers are used to represent

### WHAT IS MATLAB?... 1 STARTING MATLAB & USING THE COMMAND LINE... 1 BASIC ARITHMETIC OPERATIONS... 5 ORDER OF OPERATIONS... 7

Contents WHAT IS MATLAB?... 1 STARTING MATLAB & USING THE COMMAND LINE... 1 BASIC ARITHMETIC OPERATIONS... 5 ORDER OF OPERATIONS... 7 WHAT IS MATLAB? MATLAB stands for MATrix LABoratory. It is designed

### Computational Economics and Finance

Computational Economics and Finance Part I: Elementary Concepts of Numerical Analysis Spring 2016 Outline Computer arithmetic Error analysis: Sources of error Error propagation Controlling the error Rates

### Review of Calculus, cont d

Jim Lambers MAT 460/560 Fall Semester 2009-10 Lecture 4 Notes These notes correspond to Sections 1.1 1.2 in the text. Review of Calculus, cont d Taylor s Theorem, cont d We conclude our discussion of Taylor

### 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

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

### Chapter 1. Numeric Artifacts. 1.1 Introduction

Chapter 1 Numeric Artifacts 1.1 Introduction Virtually all solutions to problems in electromagnetics require the use of a computer. Even when an analytic or closed form solution is available which is nominally

### Numeral Systems. -Numeral System -Positional systems -Decimal -Binary -Octal. Subjects:

Numeral Systems -Numeral System -Positional systems -Decimal -Binary -Octal Subjects: Introduction A numeral system (or system of numeration) is a writing system for expressing numbers, that is a mathematical

### 1.2 Round-off Errors and Computer Arithmetic

1.2 Round-off Errors and Computer Arithmetic 1 In a computer model, a memory storage unit word is used to store a number. A word has only a finite number of bits. These facts imply: 1. Only a small set

### Chapter 1. Math review. 1.1 Some sets

Chapter 1 Math review This book assumes that you understood precalculus when you took it. So you used to know how to do things like factoring polynomials, solving high school geometry problems, using trigonometric

### 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

### Section 1.2 Fractions

Objectives Section 1.2 Fractions Factor and prime factor natural numbers Recognize special fraction forms Multiply and divide fractions Build equivalent fractions Simplify fractions Add and subtract fractions

### Number 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

### Pre-Algebra Notes Unit One: Variables, Expressions, and Integers

Pre-Algebra Notes Unit One: Variables, Expressions, and Integers Evaluating Algebraic Expressions Syllabus Objective: (.) The student will evaluate variable and numerical expressions using the order of

### ME 261: Numerical Analysis. ME 261: Numerical Analysis

ME 261: Numerical Analysis 3. credit hours Prereq.: ME 163/ME 171 Course content Approximations and error types Roots of polynomials and transcendental equations Determinants and matrices Solution of linear

### 1.3 Floating Point Form

Section 1.3 Floating Point Form 29 1.3 Floating Point Form Floating point numbers are used by computers to approximate real numbers. On the surface, the question is a simple one. There are an infinite

### EC121 Mathematical Techniques A Revision Notes

EC Mathematical Techniques A Revision Notes EC Mathematical Techniques A Revision Notes Mathematical Techniques A begins with two weeks of intensive revision of basic arithmetic and algebra, to the level

### 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

### Project 3: RPN Calculator

ECE267 @ UIC, Spring 2012, Wenjing Rao Project 3: RPN Calculator What to do: Ask the user to input a string of expression in RPN form (+ - * / ), use a stack to evaluate the result and display the result

### unused unused unused unused unused unused

BCD numbers. In some applications, such as in the financial industry, the errors that can creep in due to converting numbers back and forth between decimal and binary is unacceptable. For these applications

### Computing Basics. 1 Sources of Error LECTURE NOTES ECO 613/614 FALL 2007 KAREN A. KOPECKY

LECTURE NOTES ECO 613/614 FALL 2007 KAREN A. KOPECKY Computing Basics 1 Sources of Error Numerical solutions to problems differ from their analytical counterparts. Why? The reason for the difference is

### MAT 090 Brian Killough s Instructor Notes Strayer University

MAT 090 Brian Killough s Instructor Notes Strayer University Success in online courses requires self-motivation and discipline. It is anticipated that students will read the textbook and complete sample

### COMP2611: 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