将左移 LSB 位转换为 1

问题描述 投票:0回答:1

我需要在左移中将LSB 0转换为1:

x=5;
int num = 0x02;//0b00000010
shiftVal = num << x;// 0b01000000

shiftVal 应转换为 0b01011111

c bit-manipulation bitwise-operators
1个回答
0
投票

只需将它们设置为 1

hiftVal = (num << x) | ((1 << x) - 1);
© www.soinside.com 2019 - 2024. All rights reserved.