0
点赞
收藏
分享

微信扫一扫

源码、反码、补码、移码

北溟有渔夫 2022-04-01 阅读 29
数据结构

一个二进制数字一般一个字节八个比特位也就是0000 0000

一般第一位是符号位,也就是正反。

正数1负数1正负1相加
源码0000 00011000 00011000 0010
反码0000 00011111 11101111 1111
补码0000 00011111 11110000 0000
移码1000 00010111 11111000 0000

源码正负1相加等到1000 0010这个结果是错的。

反码在源码的基础上将后七位全部取反,所以最后得到1111 1111。

补码在反码的基础上加1,然后最后的结果是0000 0000是对的。

移码是在特定场合用到的,一般作为浮点运算的阶码。他在补码的基础上将首位取反,所以最后的结果是1000 0000也是对的。

数值表示范围整数公式一个字节表示数
源码-(2^{n-1}-1)~2^{n-1}-1-127~127
反码-(2^{n-1}-1)~2^{n-1}-1-127~127
补码-2^{n-1}-1~2^{n-1}-1-128~127

补码的正0和负0都为0000 0000所以少占一位数

举报

相关推荐

0 条评论