表达式~(~1<<3)的值是15.这句话对么?

2025-01-01 05:21:43
推荐回答(1个)
回答1:

对的
假设是8位的数据
首先~1 = ~0000 0001 = 1111 1110B //~是取反运算符,1变0,0变1
然后~1 << 3 就是 1111 1110B左移3位 变成了 1111 0000B //左边3位不要,右边补3个0
然后~(~1 << 3) 得 0000 1111B 转换成十进制就是15了

PS:若有不明白的地方,可以追问