一.真正价值
在现实的数字(二进制)中必须有)/-,实际上就是整数被舍弃了。
eg: 1101010001 -1010001111
二.原码
计算机唯一识别真值,但不能用于计算,不能减法。 结果会产生异性(0,-0)
求法:正数原码在其补位数后加0,负数原码在其补位数后去掉-,前加1
eg:
真值: 10000101 -10101100
原码: 010000101 110101100
三.补数
用于解决计算机无法实现减法和无法唯一识别源代码
求法:正数补数是在补数后加0,负数补数是真数-去掉,从右向左找到第一个1,然后向左翻转,前面加1
eg:
真值: 1010111 -1110101 -101010100
补数: 010101110001011010101010101010100
四.反码
我到现在还不知道有什么用-反正我觉得过渡是鸡肋
求法:真值反码是在其补码位数后加上0,负数反码是其补码-1
eg:
真值: 1010111 -1110101 -101010100
反码: 01010111 10001010 1010101011
五.转移代码
为解决补数无法比较大小的作用
求法:补码符号位反
eg:
真值: 10100 -10100
移动代码: 1101001100
六、特殊代码(负临界)求法(定义法) ) ) ) )。
eg: 10000000 (补数) ) ) )。
-128 (真值) )
1,补数1开始,确认负数100000000
2、真值=补数-2^n1(n为整数位数(100000000-2^(71 )=-1000000000=-100000000=-128
10000000 (源代码) )。
-0(真值) )
1,1000000=--0(真值)---直接转换
七.总结
1 )真值大于0时,其原码、补码、反码相同
2、本人写的是本人最简单的要求,但省略了大部分原理,详情请参考计算机的组成原理