软考之补码和移码
一:前言
软考遇到了补码和移码的小疑惑,解决了,现在来分析一下解决思路。
二:操作
1.为什么补码和移码的0都等于它本身呢?
首先,写一个0的原码、反码、补码、移码
数值 | +0 | -0 |
---|---|---|
原码 | 00000000 | 10000000 |
反码 | 00000000 | 111111111 |
补码 | 00000000 | (1)00000000 |
移码 | 10000000 | 10000000 |
原理:
0的原码和反码和补码都等于它本身
负数时,反码等于原码除符号位全部取反;补码等于反码加1
移码都是补码的符号位取反
得出结论:
补码和移码的0都等于它本身。
2.再由上面的表格和原理和结论推出定点正数的范围:
(那个n次方不会表示,就找图片了)
得出结论:
因为补码和移码那里没有+0和-0,只有一个0本身,0默认就是+0啦,所以补码和移码的在负半区间的范围就比原码和反码少了1。
啊,有人说补码和移码的在负半区间的范围就比原码和反码多了1吧。对啊,阿sir,你的观察是对的。但是,但是。前辈规定的,我也很无奈啊。
3.还有一个定点小数的
顺序依次为:原码、反码、补码、移码
移码的是固定的,人为设置的,最小为-1