对于无符号位:
无符号整形为4个字节,也就是为32为二进制数
负数
当无符号数给定值为负数时,输出无符号位结果时会把负数转换成补码形式,并把最高位的符号位一起计算在内:
例如-1(以8位为例),在计算机中以补码形式进行计算与保存
-1:(1000 0001)二进制原码
反码:(1111 1110)
补码:(1111 1111)=254
把负数转换成无符号位输出时,会把符号位参与计算,最后得到结果(32位)为:
在无符号位中,-1为无符号数的最大值,因为全为1(二进制中只有0和1),当值为-2或-3时,无符号位的值会逐渐递减:
因为当值变成-2时,二进制数为(11111111 11111111 11111111 11111110 )所以值会依次递减。
除法
当一个无符号数与一个非无符号数相除时,会把非无符号位转换成无符号位,在进行相除,并且结果的数据类型为无符号位。
正数:
正数原码反码补码不变,所以原样输出
当被除数为无符号位正数时,如果无符号位数值小(小于4294967296),而除数(非无符号负数)转换成符号位之后数值太大,则按照精度,最后结果为0.00000(数据类型为浮点数)。
注:无符号位数值超过4294967296时(这个数值会被转换成0),会自动转换成从1开始的数值: