我怎样才能位移 0 位?

How can I bitshift a 0 bit?

我正在尝试按顺序进行这样的位移。有逻辑运算可以帮助我做到这一点吗?

0111 1111
1011 1111
1101 1111
1110 1111
1111 0111
1111 1011
1111 1101
1111 1110

十六进制为

0x7F
0xBF 
0xDF 
0xEF 
0xF7 
0xFB 
0xFD 
0xFE

尝试使用 8 位数字(示例适用于 Java,可能对 С 也有帮助)

value = ((value >> 1) & 0x7F) | 0x80

而这个是零的反向传播

value = ((value << 1) | 1) & 0xFF