0%

csapp-p-40-1

x=0x66 y = 0x39 计算下列值

运算 二进制
x
x && y 0x01
x || y 0x01
x &&~y 0x01

用位运算与逻辑运算,实现一 x==y

1
2
3
4
int equal_val(int x, int y)
{
return !(x ^ y);
}

位移运算,假设只有只有八位的位移情况

x x x <<3 x <<3 x >>2(逻辑的) x >>2(逻辑的) x >>2(算术的) x >>2(算术的)
十六进制 二进制 二进制 十六进制 二进制 十六进制 二进制 十六进制
0xc3 11000011 00011000 0x18 00110000 0x30 11110000 0xf0
0x75 01110101 10101000 0xA8 00011101 0x1d 00011101 0x1d
0x87 10000111 00111000 0x38 00100001 0x21 11100001 0xe1
0x66 01100110 00110000 0x30 00011001 0x19 00011001 0x19

正确性未确认