最近看视频看到原码、补码和反码的转换,感觉还挺有意思的,下面跟着小编一起来看一下吧:
整数
首先先来看一个例题:
X=0110
[X]原=0 0110
[X]反=0 0110
[X]补=0 0110
[X]移=1 1001
X=-0110
[X]原=1 0110
[X]反=1 1001
[X]补=1 1010
[X]移=0 0101
由题可以看出:
整数类型 | 原码 | 反码 | 补码 | 移码 |
---|---|---|---|---|
正整数 | 0+本身 | 0+本身 | 0+本身 | 补码各位取反 |
负整数 | 1+本身 | 1+各位取反 | 反码加1 | 补码各位取反 |
小数
例题:
X=0.1011
[X]原=0 1011
[X]反=0 1011
[X]补=0 1011
X=-0.1011
[X]原=1 1011
[X]反=1 0100
[X]补=1 0101
所以:
小数类型 | 原码 | 反码 | 补码 |
---|---|---|---|
正小数 | 0+小数位 | 0+小数位 | 0+小数位 |
负小数 | 1+小数位 | 1+小数位取反 | 反码加1 |