2’s Complement and Floating-Point - University of Washington
[Pages:13]2's Complement and Floating-Point
CSE 351 Section 3
Two's Complement
?An n-bit, two's complement number can represent the range [-2 -1 , 2 -1 - 1].
? Note the asymmetry of this range about 0 ? there's one more negative number than positive
?Note what happens when you overflow
4-bit two's complement range
Understanding Two's Complement
? An easier way to find the decimal value of a two's complement number:
~x + 1 = -x
? We can rewrite this as x = ~(-x - 1), i.e. subtract 1 from the given number, and flip the bits to get the positive portion of the number.
? Example: 0b11010110
? Subtract 1: 0b11010110 - 1 = 0b11010101 ? Flip the bits: ~0b11010101 = 0b00101010 ? Convert to decimal: 0b00101010 = (32+8+2)10 = 4210 ? Multiply by negative one, Answer: -4210.
Two's Complement: Operations
int x = 0xAB; int y = 17; int z = 5; int result = ~(x | y) + z;
What is the value of result in decimal?
1. Convert numbers to binary
? 0xAB = 0b10101011
? 1710 = 0b00010001
2. Compute x | y
0000 ... 1010 1011 | 0000 ... 0001 0001 --------------------
0000 ... 1011 1011
3. Compute ~(x | y) (flip the bits)
~ 0000 0000 0000 0000 0000 0000 1011 1011 -----------------------------------------
1111 1111 1111 1111 1111 1111 0100 0100
Two's Complement: Operations
int x = 0xAB; int y = 17; int z = 5; int result = ~(x | y) + z;
What is the value of result in decimal?
4. Compute ~(x | y) + z
? You can either convert to decimal before or after adding z ? 1710 = 0b00010001 ? Convert 1d1e1c1i1m1a1l11111111111111111010001002 to (hint: -x = ~x + 1) ?00000~01010101010101010101010101010101010101011101111110011010201002 = ? ~0000......101110112 + 1 = 0000......101111002 ? -x = 0000......101111002 ? x = 1000......101111002
Floating Point
s exp
mant
? value = (-1)S * M * 2E
? Numerical Form
? Sign bit s determines whether number is negative or positive ? Significand (mantissa) M normally a fractional value in range [1.0, 2.0) ? Exponent E weights value by a (possibly negative) power of two
? Representation in Memory
? MSB s is sign bit s ? exp field encodes E (but is not equal to E) ? remember the bias ? Frac field encodes M (but is not equal to M)
Floating Point
s exp
mant
? value = (-1)S * M * 2E
? Value: ?1 ? Mantissa ? 2Exponent
? Bit Fields: (-1)S ? 1.M ? 2(E+bias) ? Bias
? Read exponent as unsigned, but with bias of ?(2w-1-1) = ?127 ? Representable exponents roughly ? positive and ? negative ? Exponent 0 (Exp = 0) is represented as E = 0b 0111 1111
? Why?
? Floating point arithmetic = easier ? Somewhat compatible with 2's complement
Floating Point
s exp
mant
? Exponent overflow yields + or - ? Floats with value +, -, and NaN can be used in operations ? Result usually still +, -, or NaN; sometimes intuitive, sometimes not
? Floating point ops do not work like real math, due to rounding! ? Not associative:
? (3.14 + 1e100) ? 1e100 != 3.14 + (1e100 ? 1e100)
? Not distributive:
? 100 * (0.1 + 0.2) != 100 * 0.1 + 100 * 0.2
? Not cumulative
? Repeatedly adding a very small number to a large one may do nothing
................
................
In order to avoid copyright disputes, this page is only a partial summary.
To fulfill the demand for quickly locating and searching documents.
It is intelligent file search solution for home and business.
Related download
- lecture 8 binary multiplication division university of utah
- 2 s complement and floating point university of washington
- l08 arithmetic multipliers mit massachusetts institute of
- two s complement rochester institute of technology
- binary arithmetic university of pittsburgh
- multipliers pipelining massachusetts institute of technology
Related searches
- 1 s complement and 2 s complement converter
- 2 s complement negative number
- 2 s complement form
- adding 3 values 2 s complement numbers calculator
- n bit 2 s complement largest value
- 2 s complement subtraction calculator
- hexadecimal to 2 s complement calculator
- 8 bit 2 s complement calculator
- adding 2 s complement numbers
- what is 2 s complement form
- 2 s complement addition calculator
- 2 s complement addition