计算机组成原理
符号操作
按位取反
二进制在计算机的内存中是以补码的形式存储。
正数的原、反、补 相同。
负数的反码 = 原码符号位不变其余各位取反,补码=反码+1。
已知补码如何求原码???
符号位不变,其余各位取反+1。
eg:补码 1111 1000
原码:
1111 1000 --> (取反) 1000 0111 -->(+1) 1000 1000。
按位取反计算
二进制每一位都取反(符号位+数据位)
公式:~x = -(x+1)
eg:~2 = -(2+1) --> -3
公式计算原理:
eg:~11
1、计算11的补码:0 1011
2、全部位取反:1 0100
3、转为原码:
- 数据位取反 1 1011
- 末位+1 : 1 1100
4、得 -12
~11 --(转化为补码)–> 0 1011 --(全部位取反)–> 1 0100 --(转原码:数据位取反)–> 1 1011 --(+1)–> 1 1100 --> -12
eg:~(-11)
1、计算补码:1 0101
2、全部位取反:0 1010
3、转位原码(正数的补码就是原码):0 1010
4、10