浅浅刚入门计算机反码与补码,总结

50的阶乘怎么还是负数?
原码:最直观的失败
把正负号变成 0/1 放在最高位,看起来简单,却带来两个零(+0、-0)和麻烦的减法器。
失败理由:硬件太贵。
反码:一次妥协
负数“按位取反”,加法器勉强能用了,但循环进位还得额外电路,而且那个讨厌的 -0 还在。
失败理由:工程师嫌麻烦。
补码:最终答案
规则一句话:负数先取反,再加 1。
结果惊喜:零只剩一个; 减法直接当加法做; 符号位无需特殊处理。
硬件开心了,成本降了,这就应该是今天所有电脑都在用的方案。
{看懂 8 位补码
十进制 补码二进制
0 0000 0000
5 0000 0101
-5 1111 1011
-128 1000 0000}(范围:-128 ~ +127,共 256 个数,没有 +128。)
想算 -x 的补码?先写 +x;从右往左找到第一个 1;这个 1 左边的位全部取反。三步出结果,比按计算器还快。
一句话总结:
补码就是把“减法”打包成“加法”的编码技巧,让电路简单,让人类省心。记住口诀:正数不变,负数“反加一”

posted @ 2025-09-23 19:53  贝奶龙统治光之国  阅读(9)  评论(0)    收藏  举报