Download Numbers

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Document related concepts

Large numbers wikipedia, lookup

Real number wikipedia, lookup

Arithmetic wikipedia, lookup

Location arithmetic wikipedia, lookup

Positional notation wikipedia, lookup

Elementary mathematics wikipedia, lookup

Addition wikipedia, lookup

Transcript
Binary Representation
Binary Representation for Numbers
 Assume 4-bit numbers
 5 as an integer
0101
 -5 as an integer


How?
 5.0 as a real number
How?
 What about 5.5?

Sign Bit
 Reserve the most-significant bit to indicate sign
 Consider integers in 4 bits
 Most-significant bit is sign: 0 is positive, 1 is negative
 The 3 remaining bits is magnitude
 0010 = 2
 1010 = -2
 How many possible combinations for 4 bits?
 How many unique integers using this scheme?
Two’s Complement
 Advantages
 # of combinations of bits = # of unique integers
 Addition is “natural”
 Convert to two’s complement (and vice versa)
1.
invert the bits
2.
add one
3.
ignore the extra carry bit if present
 Consider 4-bit numbers
 0010 [2] -> 1101 -> 1110 [-2]
Addition
 0010 [2] + 1110 [-2]
 0000
[ignoring the final carry—extra bit]
 0011 [3] + 1110 [-2]
 0001 [1]
 1110 [-2] + 1101 [-3]
 1011 [-5]
Range of Two’s Complement
 4-bit numbers
 Largest positive: 0111 (binary) => 7 (decimal)
 Smallest negative: 1000 (binary) => -8 (decimal)
 # of unique integers = # of bit combinations = 16
 n bits
 ?
Binary Real Numbers
…
 5.5
101.1
 5.25
 101.01
 5.125
 101.001
 5.75
 101.11

23
22
21
20
.
2-1
…
8 bits only
25
24
23
22
21
20
2-1
 5.5
101.1 -> 000101 10
5.25
 101.01 -> 000101 01
5.125
 101.001 -> ??
With only 2 places after the point, the precision is .25
What if the point is allowed to move around?





2-2
Floating-point Numbers
 Decimal
54.3
 5.43 x 101

[scientific notation]
 Binary
101.001
 10.1001 x 21
 1.01001 x 22


[more correctly: 10.1001 x 101]
[more correctly: 1.01001 x 1010]
What can we say about the most significant bit?
Floating-point Numbers
 General form: sign 1.mantissa x 2exponent
 the most significant digit is right before the dot


Always 1 [no need to represent it]
Exponent in Two’s complement
 1.01001 x 22
 Sign: 0 (positive)
 Mantissa: 0100
 Exponent: 010 (decimal 2)
Java Floating-point Numbers
sign
exponent
 Sign:
1 bit [0 is positive]
 Mantissa:
 23 bits in float
 52 bits in double
 Exponent:
 8 bits in float
 11 bits in double

mantissa
Imprecision in Floating-Point Numbers
 Floating-point numbers often are only
approximations since they are stored with a
finite number of bits.
 Hence 1.0/3.0 is slightly less than 1/3.
 1.0/3.0 + 1.0/3.0 + 1.0/3.0 could be less
than 1.

www.cs.fit.edu/~pkc/classes/iComputing/FloatEquality.java
Abstraction Levels
 Binary
 Data

Numbers (unsigned, signed [Two’s complement], floating point)
 Text (ASCII, Unicode)
• HTML

Color
• Image (JPEG)
 Video (MPEG)


Sound (MP3)
Instructions
Machine language (CPU-dependent)
 Text (ASCII)
 Assembly language (CPU-dependent)

• High-level language (CPU -independent: Java, C++, FORTRAN)