-
[一] 存储位数
-计算机的储存都是以二进制经行储存 那么一组数据要有多少位 就是位机
一般有四位机 八位机 十六位机 三十二位机 六十四位机等 (因为手工计算 我用的是八位机模式)
过程 十进制转化为二进制运算 得出结果
可能存在问题 是否可以运算成功 显示是否一致 -
[1 ] 原码
-
原码 :对于正数 * 把输入的数直接在转化为二进制得到的数就是原码.
原码:对于负数* 把输入的其绝对值转换得到的二进制符号位变为1
PS: 这里牵扯到位机问题 四位机得到最存储只能到 十进制的-7 其他位机也有储存极限
从这样来说计算机已经可以开始运算了(已经符合计算机的储存方法)
但是尝试运算会发现 结果是错误的 十进制 1+(-1)=0
现在用原码经行计算会发现 0b00000001+0b10000001=10000010!=00000000
所以只有原码 计算机远不能完成计算工作
所以计算机引用了反码机制
- 反码 :正数不变 负数除符号位外全部取反
在进行计算 1+(-1)=0
二进制: 0b00000001+0b11111110=11111111
可以看到 运算问题得到解决了 但是有一个新的问题 这个是时候0是有两个表达数的 应该有同一个0 所以引用了补码 - 补码 : 反码加1 正数 不变
在进行运算发现 所有问题解决