Java 以字节为单位设置位值

Java 以字节为单位设置位值,java,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: b = (byte) (b | (1 << 6));

我需要使用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:

b = (byte) (b | (1 << 6));
要将第六位设置为零:

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

位的位置实际上是基于0的,所以这就是为什么第七位映射为1,你的问题是什么?Java有位操作运算符,如|,&,字节有8位,您现在谈论的是位31。请在您的问题中添加更多细节。