1.原码反码补码基本概念
- 数据在计算机内部是以补码的形式储存的
- 数据分为有符号数和无符号数(最高位为符号位)
- 无符号数都为正数,由十进制直接转换到二进制直接存储(其实也是该十进制的补码)即可。 有符号数用在计算机内部是以补码的形式储存的。( 正数的最高位是符号位0,负数的最高位是 符号位1。
- 对于正数:反码==补码==原码。 对于负数:反码==除符号位以外的各位取反。补码=反 码+1)
- 正数的首位地址为0,其源码是由十进制数转换到的二进制数字
- 负数的首位地址为1,其源码后面的位也为10进制数转换过去的二进制数字,都是用补码方式表示 有符号数的。
2. 1 与 -1 在内存中存储的具体细节
- 1为正数,正数的原码、反码、补码三码合一,就是其二进制的形式
三码合一:0000 0000 0000 0000 0000 0000 0000 0001
- -1 为负数, 其补码为原码除符号位以外取反再+1
原码:1000 0000 0000 0000 0000 0000 0000 0001
反码:1111 1111 1111 1111 1111 1111 1111 1110
补码:1111 1111 1111 1111 1111 1111 1111 1111
3. 为什么要引入这三个概念
符号位参与运算, 根据运算法则减去一个正数等于加上一个负数, 即: 1-1 = 1 + (-1) = 0 , 所以机器可以只有加法而没有减法, 这样计算机运算的设计就更简单了.
总而言之就是为了方便计算机计算
网友评论