位运算

今天补补脑,复习下最基础的位运算:
1.位反运算  例如: ~53 = -54:
解:a.将53转二进制,可知最高位是1(看最高位0正,1负并且还是补码(负数是补码表示),
b.其表达式:(负数: 原码>反码+1=补码)具体看下图解法:111111111111

2.35+(-37)

35: 0010 0011

-37: 1)因为是负数,最高位是1, 补码1010 0101

2)反码:1010 0101 -1 = 1010 0100

3)原码:~ 1010 0100= 1101 1011

0010 0011(35)+1101 1011(-37)=1111 1110 (原码)

1)反码:~1111 1110=1000 0001

2)补码:1000 0001+1 = 1000 0010  = -2

发表回复