Presentation is loading. Please wait.

Presentation is loading. Please wait.

Chapter 4 Operations on Bits.

Similar presentations


Presentation on theme: "Chapter 4 Operations on Bits."— Presentation transcript:

1 Chapter 4 Operations on Bits

2 Figure 4-1 Operations on bits

3 4.1 ARITHMETIC OPERATIONS

4 Arithmetic Operation on Integer
All arithmetic operation (addition, subtraction, multiplication and division) can be applied to integers. However we focus on addition and subtraction. Because multiplication is repetitive addition and division is repetitive subtraction. Addition and subtraction can be applied to all integer representation but we interested in two’s complement representation.

5 Adding bits Bits ------------ 0+0 0+1 1 1+0 1+1 1 1+1+1=? 1+1+0=?
Result 1 Carry 1 1+1+1=? 1+1+0=? 1+0+0+?

6 Example 1 Add two numbers in two’s complement representation: (+17) + (+22)  (+39) Solution Carry Result  39

7 Example 2 Add two numbers in two’s complement representation: (+24) + (-17)  (+7) Solution Carry Result  +7

8 Example 3 Add two numbers in two’s complement representation: (-35) + (+20)  (-15) Solution Carry Result  -15

9 Example 4 Add two numbers in two’s complement representation: (+127) + (+3)  (+130) Solution Carry Result  -126 (Error) An overflow has occurred.

10 Overflow Overflow in binary addition occurs when the result of addition can not be stored within the range defined by the allocation. For two’s complement representation the addition result should be in the range between -2N-1 and 2N-1-1 where N is number of bits allocation

11 Why did we get wrong answer?
Figure 4-2 Why did we get wrong answer? Number Visualization

12 Subtraction in two’s complement
In two’s complement representation there is no difference between addition and subtraction. To subtract “negate” (using two’s complement) the subtracted number and add. Would overflow occurs in subtraction? How?

13 Example 5 Subtract 62 from 101 in two’s complement: (+101) - (+62)  (+101) + (-62) Solution Carry Result  39 The leftmost carry is discarded.

14 Arithmetic Operation on Floating-Point Number
Check sign If the sign is positive, add numbers. If the sign is negative, compare the absolute values, subtract the smaller from the larger, attach the sign of the larger. Move the decimal point to make the exponent the same. Add or subtract Normalize the result

15 After normalization +26 x 1.000001, which is stored as:
Example 6 Add two floats: The exponents are 5 and 3. The numbers are: x and +23 x Make the exponents the same. +25 x +25 x +25 x After normalization +26 x , which is stored as: +

16 4.2 LOGICAL OPERATIONS

17 Logical Operation In Computer, you can interpret 0 as logical value false and 1 as logical value true. Logical operation can accept 1 or 2 bits to create only 1 bits. If operation is applied to only one input, it is a unary operation. If operation is applied to 2 inputs, it is a binary operation.

18 Unary and binary operations
Figure 4-3 Unary and binary operations

19 Figure 4-4 Logical operations

20 Figure 4-5 Truth tables

21 NOT Operator NOT Operator has one input.
NOT Operator inverts the bits. NOT Symbol Input x Output NOT x NOT

22 Figure 4-6 NOT operator

23 Example 7 Use the NOT operator on the bit pattern Solution Target NOT Result

24 AND Operator AND operator is a binary operator, it takes two inputs and create one output AND Symbol x AND AND Output y

25 Figure 4-7 AND operator

26 Example 8 Use the AND operator on bit patterns and Solution Target AND Result

27 Inherent rule of the AND operator
Figure 4-8 Inherent rule of the AND operator

28 OR Operator OR operator is a binary operator, it takes two inputs and create one output OR Symbol x OR Output y

29 Figure 4-9 OR operator

30 Example 9 Use the OR operator on bit patterns and Solution Target OR Result

31 Inherent rule of the OR operator
Figure 4-10 Inherent rule of the OR operator

32 XOR Operator XOR operator is a binary operator, it takes two inputs and create one output OR Symbol x XOR Output y

33 Figure 4-11 XOR operator

34 Example 10 Use the XOR operator on bit patterns and Solution Target XOR Result

35 Inherent rule of the XOR operator
Figure 4-12 Inherent rule of the XOR operator

36 Applications of Binary Operation
Logical binary operations can be used to modify a bit pattern. They could be used to set, unset or invert specific bits. The Mask is the a bit pattern used to modify another bit pattern. A bit pattern can be ANDed, ORed or XORed with the Mask

37 Figure 4-13 Mask

38 Unsetting Specific Bits
AND operator can be used to unset (force to 0) specific bits in a bit pattern. The rule for constructing an unsetting mask are: To unset a bit in the target, use 0 for the corresponding bit in the mask. To leave a bit in the target unchanged, use 1 for the corresponding bit in the mask

39 Example of unsetting specific bits
Figure 4-14 Example of unsetting specific bits

40 Example 11 Use a mask to unset (clear) the 5 leftmost bits of a pattern. Test the mask with the pattern Solution The mask is Target AND Mask Result

41 Solution on the next slide.
Example 12 Imagine a power plant that pumps water to a city using eight pumps. The state of the pumps (on or off) can be represented by an 8-bit pattern. For example, the pattern shows that pumps 1 to 3 (from the right), 7 and 8 are on while pumps 4, 5, and 6 are off. Now assume pump 7 shuts down. How can a mask show this situation? Solution on the next slide.

42 Solution Use the mask to AND with the target pattern. The only 0 bit (bit 7) in the mask turns off the seventh bit in the target. Target AND Mask Result

43 Setting Specific Bits OR operator can be used to set (force to 1) specific bits in a bit pattern. The rule for constructing an unsetting mask are: To set a bit in the target, use 1 for the corresponding bit in the mask. To leave a bit in the target unchanged, use 0 for the corresponding bit in the mask

44 Example of setting specific bits
Figure 4-15 Example of setting specific bits

45 Example 13 Use a mask to set the 5 leftmost bits of a pattern. Test the mask with the pattern Solution The mask is Target OR Mask Result

46 Example 14 Using the power plant example, how can you use a mask to show that pump 6 is now turned on? Solution Use the mask Target OR Mask Result

47 Flipping (inverting) Specific Bits
XOR operator can be used to flipping specific bits (changing 0 to 1 and 1 to 0) in a bit pattern. The rule for constructing an unsetting mask are: flip a bit in the target, use 1 for the corresponding bit in the mask. To leave a bit in the target unchanged, use 0 for the corresponding bit in the mask

48 Example of flipping specific bits
Figure 4-16 Example of flipping specific bits

49 Example 15 Use a mask to flip the 5 leftmost bits of a pattern. Test the mask with the pattern Solution Target XOR Mask Result

50 4.3 SHIFT OPERATIONS

51 Shift Operation A bit pattern can be shifted to the left or the right.
The right-shift operation discards the rightmost bit every shift and insert 0 to the leftmost bit. The left-shift operation discards the leftmost bit every shift and insert 0 to the rightmost bit. Note: Shifting may change the sign of the number.

52 Figure 4-17 Shift operations

53 Example 16 Show how you can divide or multiply a number by 2 using shift operations. Solution If a bit pattern represents an unsigned number, a right-shift operation divides the number by two. The pattern represents 59. When you shift the number to the right, you get , which is 29. If you shift the original number to the left, you get , which is 118.

54 Example 17 Use a combination of logical and shift operations to find the value (0 or 1) of the fourth bit (from the right). Solution Use the mask to AND with the target to keep the fourth bit and clear the rest of the bits. Continued on the next slide

55 Solution (continued) Target a b c d e f g h AND Mask Result e Shift the new pattern three times to the right e000  00000e00  e0  e Now it is easy to test the value of the new pattern as an unsigned integer. If the value is 1, the original bit was 1; otherwise the original bit was 0.


Download ppt "Chapter 4 Operations on Bits."

Similar presentations


Ads by Google