2. | Assuming, integer is 2 byte, What will be the output of the program? |
| A. | Error |
| B. | fff8 |
| C. | 0 |
| D. | ffff |
|
| Answer: Option B |
|
|
| Explanation: |
|
The integer value 2 is represented as 00000000 00000010 in binary system.
Negative numbers are represented in 2's complement method.
1's complement of 00000000 00000010 is 11111111 11111101 (Change all 0s to 1 and 1s to 0).
2's complement of 00000000 00000010 is 11111111 11111110 (Add 1 to 1's complement to obtain the 2's complement value).
Therefore, in binary we represent -2 as: 11111111 11111110.
After left shifting it by 2 bits we obtain: 11111111 11111000, and it is equal to "fff8" in hexadecimal system. |
|
|
|
|
Tutorial Link: |
Published by:Michael Daani
Comments are not available