Bit operations - Ohio State University
Bit operations
1 and 3 exclusive OR (^) 2 and 4 and (&) 5 or (|)
01100 carry* 0110 a 0111 b 01101 a+b
* Always start with a carry-in of 0
Did it work? What is a? What is b? What is a+b? What if 8 bits instead of 4?
45
Integer Representation
Different encoding scheme than float *Total number of values: 2w
where w is the bit width of the data type
The left-most bit is the sign bit if using a signed data type (typically... B2T). Unsigned non-neg numbers (>=0)
Minimum value: 0 *Maximum value: 2w-1
Signed neg, zero, and pos numbers
*Minimum value: -2w-1 *Maximum value: 2w-1-1
* Where w is the bit width of the data type
46
Integer Decoding
Binary to Decimal (mult of powers) Unsigned = simple binary = B2U
You already know how to do this :o)
0101 = 5, 1111 = F, 1110 = E, 1001 = 9
Signed = two's complement = B2T*
0 101 = positive number; same as B2U = 5 1 111 = -1*23 + 7 = -8 + 7 = -1 1 110 = -1*23 + 6 = -8 + 6 = -2 1 001 = -1*23 + 1 = -8 + 1 = -7 Another way, if sign bit = 1, then it's a negative number and to get the absolute value of that number, you:
invert bits and add 1 right to left, leave alone to first 1, then invert
rest 1010 = lookup says -6... verify both ways
* reminder: left most bit is sign bit
CODE B2U B2T 0000 0 0 0001 1 1 0010 2 2 0011 3 3 0100 4 4 0101 5 5 0110 6 6 0111 7 7 1000 8 -8 1001 9 -7 1010 10 -6 1011 11 -5 1100 12 -4 1101 13 -3 1110 14 -2 1111 15 -1
47
B2O & B2S
Note that +0 and -0 return TRUE when tested for zero, FALSE when tested for non-zero.
One's complement = bit complement of B2U Signed Magnitude = left most bit set to 1 with B2U for the remaining bits Both include neg values Min/max = -(2w-1-1) to 2w-1-1 Pos and neg zero Difficulties with arithmetic options
CODE B2U B2T B2O B2S 0000 0 0 0 0 0001 1 1 1 1 0010 2 2 2 2 0011 3 3 3 3 0100 4 4 4 4 0101 5 5 5 5 0110 6 6 6 6 0111 7 7 7 7 1000 8 -8 -7 -0 1001 9 -7 -6 -1 1010 10 -6 -5 -2 1011 11 -5 -4 -3 1100 12 -4 -3 -4 1101 13 -3 -2 -5 1110 14 -2 -1 -6 1111 15 -1 -0 -7
48
Signed vs Unsigned
sign2unsign.c
Casting... Signed to unsigned... Unsigned to signed...
*** Changes the meaning of the value, but not the bit representation
Notice, the difference of 16 i.e. left most bit
Unsigned = 23 = 8 Signed = -23 = -8
What is the largest possible value for short? 16-bits... see When add 1 to -1 get 0; when add 1 to 4,294,967,295, you get zero. Why? FFFF + 1 = 0000... overflow warning but okay i.e. -1 + 1 = 0... all is good
CODE 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
B2U B2T 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 -8 9 -7 10 -6 11 -5 12 -4 13 -3 14 -2 15 -1
49
................
................
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 19 bit operations
- bit operations ohio state university
- coding schemes used with data converters rev a
- mips arithmetic howard huang
- 2 s complement and floating point
- 9 binary numbers codes stanford university
- l08 arithmetic multipliers
- two s complement arithmetic edward bosworth
- binary arithmetic bit shifting 2s complement intro to
- fixed point arithmetic an introduction
Related searches
- ohio state university degrees
- ohio state university medical center
- ohio state university holiday
- ohio state university calendar
- ohio state university academic calendar 2018
- ohio state university academic calendar
- ohio state university jobs
- ohio state university campus jobs
- ohio state university holiday calendar
- ohio state university financial statements
- the ohio state university wexner medical center
- ohio state university calendar 2020