我怎样才能位移 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
我正在尝试按顺序进行这样的位移。有逻辑运算可以帮助我做到这一点吗?
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