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

有符号数:

Java中的基本数据类型除char外,其它每个都是有符号的。

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

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

例如:

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

你可能感兴趣的:(java,开发语言)