Java中为啥要使用16进制

最近做项目中遇到了大量的byte数据、运算符操作、16进制字符串转byte数组等等关于位的操作,其中就遇到了很多16进制的数据,就想,为啥子要用16进制呢?
1、十六进制在可能牵扯到位操作的时候,更加直观,因为一个数字代表4位二进制0或1
例如 0x02 相当于 00000010 ,而十进制就没有那么直观。
比如我们需要0x02 << 4 ,这样我们就可以很直观的看到结果。而如果是使用十进制,我们还是需要转成二进制,在进行 << 操作。
2、更节省内存,更好地控制数据长度。项目中需要与BLE进行通信,而BLE又对通信数据长度有严格的限制,所以我们也需要对我们发送的命令数据长度进行严格的限制。比如0x02,就是0000 0010,这就是一个字节的长度,非常直观。所以我们就可以认为两个16进制的数字,就是一个字节,这样就可以很好地控制命令长度。
3、还有就是个人习惯为题,有些人喜欢将常量写成16进制,这也是可以的,如下:
public static final int OTA_SERVICE = 0x04;
public static final int OTA_START = 0x01;
public static final int OTA_DATA = 0x02;
public static final int OTA_END = 0x03;

你可能感兴趣的:(java)