Java字节运算

  1. Java的byte范围是-128~127
    byte转成无符号数
byte & 0xff
  1. 取字节的第n位
    比如要取字节第8位
byte & 0b10000000 >> 7

取字节的前4位

byte & 0b11110000 >> 4

总结就是,将字节要取的位0b放1,进行&运算,然后右移>>去掉无用位

  1. 多字节转成整数
    协议经常用多个字节表示数据
    比如两个字节表示年份,那么计算年份为:
int year = byte1 << 8 | byte2;//因为一个字节占8位,将byte1左移8位再和byte2合并成一个数

同理3个字节转成一个数就是


int data = byte3 << 16 | byte2 << 8 | byte1

你可能感兴趣的:(Java字节运算)