DOC PREVIEW
TRINITY CSCI 1320 - Machine Arithmetic

This preview shows page 1-2-3-4-5 out of 14 pages.

Save
View full document
Premium Document
Do you want full access? Go Premium and unlock all 14 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Machine Arithmetic 8 31 2007 1 Opening Discussion Let s look at some interclass problems If you played with your program some you probably found that it behaves oddly in some regards Why is this What did we talk about last class 2 Output with printf We have seen printf but we haven t really used the f part of it Let s look at the man page for printf and see if we can figure out what it is saying Let s play with printf some We can also use the sizeof operator to learn a bit more about the primitive types on our system 3 Input with scanf The opposite of printf is scanf Use this function when you want to read input from the user Let s look at the man page for scanf At this point all the variables you pass to scanf will need to have in front of them This is because scanf needs to know where the variable is in memory and that is what does We ll go into more detail about this when we cover pointers 4 I O Redirection in Linux There is another feature of the command line interface that provides tremendous power that we haven t discussed yet I O redirection Not only does this make the command line more powerful it will be really helpful on some assignments You can make a program use a file as standard input or standard output command input output You don t have to specify both The output of one program can be piped so become the input of another program with 5 Numbers on Machines We ve already said that computers use binary 8 binary digits bits are called a byte The machine s native size chunk of memory is called a word These machines have a 32 bit word If you have a 64 bit machine it will use a 64 bit word We can use the sizeof operator in C to look at the sizes of the different primitive types What it reports is a multiple of the size of a char which is normally a single byte 6 Binary Addition Adding binary numbers is quite simple You just do a lot of carrying Let s do some examples We ll assume we are working with 8 bit numbers The number of bits we have can matter 7 Twos Complement and Subtraction Subtraction is just addition of the negative So how do we make negatives in binary Remember you don t have a You only have 0 and 1 There are actually three different ways that negatives have been done in binary Your book covers all three but I will only discuss the one that computers today use Twos compliment is based on the idea that a a 0 So we define a to be the number such that when added to a we get zero This is possible because we have a finite number of bits Your book discusses an easy shortcut 8 Bit Shifting In decimal when you multiply divide by a factor of 10 you are just moving the decimal point around In binary the operation of moving all the bits left or right is called bit shifting and it is equivalent to multiplication or division by powers of two 9 Multiplication To multiply two binary numbers do standard long multiplication Just remember when you are adding that you are adding binary numbers Note that adding more than two binary numbers can get tricky It can result in carrying operations you have never done by hand in decimal 10 Binary Fractions If the digits in binary start with one and move to larger powers of two moving to the left what happens if you put in a binary point and move to the right Numbers that have a fixed number of bits with a point at a selected position are called fixed point numbers These were popular before floating point accelerators became common but now they are only used on specialty hardware with low end chips 11 Floating Point Numbers Numbers that can have fractional values are represented with floating point numbers on virtually all modern machines Floating point numbers are basically like scientific notation in binary v 1 s 1 frac 2 exp bias Single precision numbers use one bit for the sign 8 for the exponent 23 for the fractional part and have a bias of 127 Double precision uses one bit for sign 11 for exponent 52 for fraction and has a bias of 1023 12 Limitations of FP Floating point numbers are not actually the real numbers you know from math even though we often use them that way They have limitations because of the fixed number of bits Some of the math properties you are used to for numbers don t actually hold for floating point numbers Example a b c a b c Try this with a b and c as floats and make a 1e7 b 1e7 c 0 01 You also have to be careful of things like subtracting two numbers that are almost equal 13 Minute Essay Give me the 8 bit representation of 5 Interclass Problem Write a program to demonstrate potential problems with floating point numbers I suggest using floats instead of doubles to make it easier There is a quiz on Wednesday after the long weekend It can cover anything that we have talked about in class or in the readings 14


View Full Document

TRINITY CSCI 1320 - Machine Arithmetic

Documents in this Course
Functions

Functions

10 pages

Functions

Functions

10 pages

Graphics

Graphics

10 pages

Graphics

Graphics

11 pages

Loops

Loops

4 pages

Loops

Loops

3 pages

Strings

Strings

9 pages

Functions

Functions

10 pages

Loops

Loops

11 pages

Graphics

Graphics

11 pages

Graphics

Graphics

12 pages

Sorting

Sorting

11 pages

Sorting

Sorting

10 pages

Arrays

Arrays

10 pages

Loops

Loops

18 pages

Load more
Download Machine Arithmetic
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Machine Arithmetic and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Machine Arithmetic and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?