Computer Systems 1 Fundamentals of Computing - PowerPoint PPT Presentation

1 / 23
About This Presentation
Title:

Computer Systems 1 Fundamentals of Computing

Description:

m = mantissa ( or -), r = radix, e = exponent ( or -) In decimal Radix is 10 ... expands the available size for the mantissa. Computer Systems 1 (2004-2005) ... – PowerPoint PPT presentation

Number of Views:232
Avg rating:3.0/5.0
Slides: 24
Provided by: stuartcu
Category:

less

Transcript and Presenter's Notes

Title: Computer Systems 1 Fundamentals of Computing


1
Computer Systems 1Fundamentals of Computing
  • Negative Real Number Binary

2
Negative Real Binary
  • Binary subtraction
  • Real numbers in binary
  • Ranges
  • Fixed point
  • Floating point notation

3
Binary Subtraction
  • Using twos complement we can perform binary
    subtraction
  • Essentially addition
  • e.g- 20 - 13 20 (-13)
  • Take two binary numbers
  • The first number is called the minuend
  • Second number is called the subtrahend
  • Second number negated using twos complement
  • Binary addition is then applied
  • Drop carry from result if required

4
Binary Subtraction
  • E.g.
  • 20 - 13 20 (-13) 7
  • 010100 (20)
  • 110011 (t/c -13)(001101 1100101) 1000111
  • Drop carried leading 1
  • 000111 decimal 7

5
Binary Subtraction
  • What if the minuend is smaller than the
    subtrahend (negative number result)?
  • E.g.
  • 20 - 23 -3
  • Or
  • 20 (-23) (-3)
  • 010100 (20)
  • 101001 (t/c -23)(010111 1010001)
    111101
  • 111101 -3

6
Number Range
  • Number of bits in a word determine the number
    range
  • The sign bit from twos complement and sign
    magnitude representation methods reduce the range
    from that of an unsigned number
  • Sign bit is ignored using Sign Magnitude
  • RANGE (4 bit) 1111 to 0111 (-7 to 7)
  • RANGE (8 bit) 11111111 to 01111111 (-127 to 127)
  • Sign bit is used in the calculation of Twos
    Complement numbers but still reduces the range
  • Because if sign indicator is used negate value
  • RANGE (4 bit) 1000 to 0111 (-8 to 7)
  • RANGE (8 bit) 10000000 to 01111111 (-128 to 127)

7
Number Range - Overflow
  • If the result of a calculation goes beyond the
    fixed bit size of a word then overflow has
    occurred
  • Overflow is detected and highlighted by the ALU
  • A common problem is that the sign bit is used as
    part of the magnitude of a number
  • Especially when potentially working with negative
    numbers
  • E.g. for 96 64 160
  • 01100000
  • 01000000
  • 10100000 160 (is -96 in twos complement)
  • Overcome by adding more bits to the word size

8
Real Numbers
  • So far we have looked at integer methods for
    number representation
  • Real numbers are integers and fractions of a
    number system
  • Essentially all values
  • Real numbers provide greater accuracy than
    integers
  • To be useful the computer must be able to work
    with real numbers
  • Methods of representing real numbers using binary
  • Fixed point notation
  • Floating point notation

9
Fixed Point Notation
  • Splits numbers using a point .
  • Integer section
  • Fractional section
  • Fraction is assumed to be to the right of the
    point
  • Degree of precision is decided by position of
    point
  • Point can be placed anywhere in the binary word
  • More digits to the left means greater number of
    integers to be represented
  • Essentially a greater numerical range
  • More digits to the right means greater accuracy
    of real numbers
  • Fractional information can be more precise
  • Point position within a word is assumed in
    practice
  • The same binary word can have many different
    values depending on the position of the point

10
Fixed Point Notation
  • E.g-
  • Using 8 bit words
  • 000010.11 2.75
  • 1x2 (1x0.5) (1x0.25)
  • 000101.1 5.5
  • (1x4) (1x1) 1x0.5
  • Fixed point numbers are prone to overflow and
    underflow when using fixed word sizes
  • Overflow with larger numbers
  • Underflow when fractions are too small

11
Floating Point Notation
  • The point is capable of moving
  • Floating
  • Converting fixed point to floating point is
    normalisation
  • Representation is achieved by
  • A mantissa
  • An exponent
  • And a radix
  • m re
  • m mantissa ( or -), r radix, e exponent (
    or -)
  • In decimal Radix is 10
  • In binary Radix is 2
  • E.g.- in decimal 5.2 106 (5,200,000)

12
Floating Point Notation
  • E.g.- Normal Decimal numbers
  • 2.5 103 2500
  • 8.9 108 890,000,000
  • 4.3 102 430
  • E.g.- Decimal Numbers lt 1 and gt 0
  • 5.24 10-5 0.0000524
  • 2.531 10-7 0.0000002531
  • 6.7 10-2 0.067

13
Floating Point Notation
  • Converting FIXED to FLOAT
  • Binary Floating Point
  • If the number is greater than one
  • Point floats to the left
  • Position before the MSB
  • If the number is a fraction less than ONE but
    greater than 0, and binary 1 doesnt follow the
    point (0.5)
  • Point floats to the right
  • Position before first non-zero bit
  • Negative exponent (e)

14
Floating Point Notation
  • E.g.- Normal Binary numbers
  • 101.01010 0.10101010 23
  • 1010.0110 0.10100110 24
  • 111011.01 0.11101101 26
  • E.g.- Binary Numbers less than 1 and gt 0
  • 0.0011001 0.11001 2-2
  • 0.0000101 0.101 2-4
  • 0.0000011 0.11 2-5

15
Floating Point Notation
  • Storing floating point numbers
  • Two parts to be stored
  • Mantissa
  • More bits the greater the magnitude
  • Exponent
  • More bits the greater the precision
  • Usually allocated a third to a half of the bits
  • E.g- in a 16-bit word
  • Mantissa is given 12 bits
  • Exponent gets 4 bits
  • Or- in a 16-bit word
  • Mantissa 10 bits
  • Exponent 6 bits

16
Floating Point Notation
  • Allocation of bits
  • E.g.- 16 bit allocation
  • Binary point appears to the right of the sign bit

17
Representing floating point numbers
  • E.g.- 16-bit system
  • 1110.0000011 0.11100000011 24
  • Mantissa 0111000000112
  • Exponent 01002
  • Can be written 0111000000112 01002
  • Actually stored as
  • 01110000001101002
  • because number format for floating point has
    already been decided
  • We know where the mantissa ends, etc.

18
Negative floating point
  • Negative floating point numbers can be stored
    using the Twos complement method
  • A normalised positive mantissa must be between
    0.5 and less than 1 (0.100..n 0.111..n)
  • A normalised negative mantissa must be between -1
    and less than -0.5 (1.000..n 1.011..n)
  • Mantissa
  • Sign bit before binary point is used
  • 1 negative
  • 0 positive
  • MSB to right of binary point
  • 1 positive
  • 0 negative
  • If sign bit and MSB are the same then
    normalisation is required

19
Negative floating point
  • E.g.-
  • 0.1xxxxxxxxxx positive mantissa
  • 1.0xxxxxxxxxx negative mantissa
  • 0.0xxxxxxxxxx invalid positive
  • 1.1xxxxxxxxxx invalid negative
  • Exponent
  • Usually, normal Twos complement rules apply
  • Because exponent does not use a binary point
  • E.g.- 11002
  • (1 -8) (1 4)
  • -410

20
Floating point accuracy
  • We can see that precision can be lost when using
    floating point numbers
  • Especially when performing calculations
  • Methods of improving precision become useful
  • Ways to do this
  • Mantissa length
  • Rounding
  • Double precision numbers arithmetic

21
Floating point accuracy
  • Mantissa length
  • Increase the word size allocated to the mantissa
    storage
  • Still never completely solves the problem
  • Rounding
  • Attempt to reduce the problem cause by losing a
    binary 1 from the number
  • Occurs during shifting and normalisation
  • In rounding if the last bit to be discarded is a
    1 then a 1 should be added to the LSB position
  • E.g.(5-bit num) 1.0101 shifted 0.10101 (last
    1 is lost)
  • 0.1010 when rounded with the 1 lost 0.1011
  • Can also cause more problems than it solves
  • Many different rounding algorithms

22
Double precision numbers
  • Uses two sequential memory words to store data
    when required
  • Most significant half
  • Least significant half
  • Can accommodate numbers being used or hold the
    result of calculations
  • Essentially expands the available size for the
    mantissa

23
CS1 - Week 23
  • Binary subtraction using twos complement
  • Actually addition
  • Normal subtraction
  • Subtraction with negative result
  • Ranges
  • Overflow
  • Underflow
  • Real number representation
  • Fixed point notation
  • Binary
  • Floating point notation
  • Decimal
  • Binary
  • Storage
Write a Comment
User Comments (0)
About PowerShow.com