unsigned short int temp, temp2;
temp = 0xbc61; // 1011110001100001
// temp2 has to be 0x61 (01100001) but I don't know how to shift, mask or whatever
temp2 = (temp << 8); // this doesnt work, because I get 0x6100 (110000100000000)
Asked
Active
Viewed 84 times
0
-
https://stackoverflow.com/q/47981/6872717 – alx - recommends codidact Jun 16 '19 at 11:16
1 Answers
3
To select the 8 lowest bits of 1011110001100001
, you need to perform a bitwise AND operation with 11111111
:
1011110001100001
& 0000000011111111
------------------
0000000001100001
That is,
temp2 = temp & 0xff; // or 255

melpomene
- 84,125
- 8
- 85
- 148