java中有符号数与无符号数的转换

117 阅读1分钟

有符号数:

Java中的基本数据类型除char外,默认都是有符号的。

int a = 255;
int cur = Byte.toUnsignedInt((byte)(a));

使用Byte类中toUnsigned*方法将其转化成无符号数之后,可进行各种运算,如,~,&,|,^等。

例如:

  • cur ^= 10;
  • cur ~= 10;
  • (~cur + 1) | cur == cur ?  1 : 0;  // 可用于判断子网掩码是否合法