以字节设置位值

时间:2014-10-17 09:52:36

标签: java

我需要使用Java为下面列出的某些蓝牙功能设置位:

HeaderValue:BluetoothFeatures, 
Tag ID:0x10, 
Length:4 bytes, 
Possible Values :
    Bit 0 = a,
    Bit 1 = b,
    Bit 2 = c,
    Bit 3 = d,
    Bit 4 = e ....so on till bit 31.

1 个答案:

答案 0 :(得分:0)

将第七位设置为1:

b = (byte) (b | (1 << 6));

将第六位设置为零:

b = (byte) (b & ~(1 << 5));

(位位置实际上是基于0的,因此“第七位”映射到1 <&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;

来源:Change bits value in Byte