什么是无符号段整数,什么又是有符号数,(c++与java语言里边的不同)

c++中:
整型数分为有符号数和无符号数两种
unsigned int a;
无符号整型变量a,意思是这个数最小值为0,最大值为2的32次方-1,因为一个整型数占四个字节,一个字节8位,共32位 int b;
有符号整型变量b,有符号数的最大值为2的31方-1,最小值为-2的31次方 计算机中表示整数时,变量所占内存的第一位表示符号位,0表示正数,1表示负数。
java中:
java没有无符号数,就是说java都是有符号的,byte的取值范围为-128~127
(
byte 类型的取值区间是-128~127,由于复合赋值运
算符不改变结果的类型,则导致结果是-128,而不是 128。原因如下:
l byte 类型值 127 的机器数是 01111111,0 表示正数,后续的数值表示 127
l 该数值加 1 后,得到的数值是 10000000,二进制加法
l 而 10000000 在 byte 类型中恰好是-128 的机器数表示形式
其它类型的符合运算符也可能存在类似的情况,使用时需要注意。

)
原文地址:https://www.cnblogs.com/zzuyczhang/p/4343562.html