我们只讨论 byte; byte 在计算机中是8位;第一位为符号位。0表示正数,1表示为负数,其余的7位表示 具体的值。要理解一点 就是 数值在计算机内存中的存储是补码的方式
存储的,有一定的规则,即正数的话 原码 反码 补码 一样,负数的话,原码是负数的绝对值,最高位 是1 ,反码是 最高位不变,然后其余位 取反 ,补码是 最高位不变,反码+1
举例:byte 能表示的正数的最大值为:
0111 1111 = 2的7次方 -1 = 127。
正数最小值为:
0000 0000 = 0;
正数的原码,反码 补码 相同。
再来看负数的最大负值:
1111 1111 = -2的7次方 -1 = -127
原码:1111 1111
反码:1000 0000
补码:1000 0001
------------------------------
再来看负数的最接近正数的值,即最小负值:
1000 0000 = -0;
原码:1000 0000
反码:1111 1111
补码:1000 0000(注意这里溢出了)
可见,-0 的原码 和 补码是一样的,实际上 计算机规定的,1000 0000 = -128 ;
通常说 -128 只有补码,没有原码和反码,因为原码是 -0 ,-0 你怎么能认为是 -128呢。
即:-128在计算机中的补码为:1000 0000 ,没有原码和反码;
是可以进行运算的,比如:
-128 + 3 = -126 在计算机中的计算如下:
补码(1000 0000)+ 补码(0000 0011)= 补码(1000 0011)
然后再把1000 0011转换成原码的步骤为:
先转换成反码即减1 = 1000 0010
然后再利用反码转换成原码为:1111 1101
再把原码转成十进制为:-125,计算的方法如图:
7000 试用期 3个月内
到手工资9000 + 五险一金 ,一个月总工资 9000 + 社保1340
1.婚姻状况
2. 到岗时间
3.当前住址
4.阿斯蒂芬个爱说到岗