dka*_*arp 25
要将第七位设置为1:
b = (byte) (b | (1 << 6));
Run Code Online (Sandbox Code Playgroud)
要将第六位设置为零:
b = (byte) (b & ~(1 << 5));
Run Code Online (Sandbox Code Playgroud)
(位位置实际上是基于0的,所以这就是"第七位"映射到1 << 6而不是1 << 7.)
sta*_*lue 13
声明b为原始类型byte:
byte b = ...;
Run Code Online (Sandbox Code Playgroud)
然后,您可以使用组合二进制操作和赋值的复合赋值运算符(这不起作用Byte):
b |= (1 << bitIndex); // set a bit to 1
b &= ~(1 << bitIndex); // set a bit to 0
Run Code Online (Sandbox Code Playgroud)
如果没有赋值运算符,则需要强制转换,因为|和&运算的结果是int:
b = (byte) (b | (1 << bitIndex));
b = (byte) (b & ~(1 << bitIndex));
Run Code Online (Sandbox Code Playgroud)
强制转换隐含在复合赋值运算符中,请参阅Java语言规范.
| 归档时间: |
|
| 查看次数: |
23752 次 |
| 最近记录: |