Interview Question
Software Engineer / DevelopersI think it should be:
6
-1
0x0E
8
Here's why:
6 = 0000 0110
7 = 0000 0111
8 = 0000 1000
1. 0000 0110 & 0000 0111
= 0000 0110
Interpreted as signed decimal integer (%d) = 6
2. 0000 0110 | 1111 1111
= 1111 1111
Interpreted as signed decimal integer (%d)
=> find 2's complement as msb is 1
=> 0000 0001 = -1
3. (0000 0110 & 0000 0111) | 0000 1000
= (0000 0110) | 0000 1000
= 0000 1110
Interpreted as signed hex integer (%x)
= 0x0E
4. ((0000 0110 << 2) & 0000 0111) | 0000 1000
= ((0001 1000) & 0000 0111) | 0000 1000
= (0000 00000) | 0000 1000
= 0000 1000
Interpreted as signed integer (%d) = 8
I could be wrong so feel free to correct me!
0
- DRY October 26, 2010255
14
8