我目前正在阅读“C ++ Primer”,我正在讨论按位运算符。
我明白但是我没有接受这个练习..
~'q'<<的数值是多少? 6在具有32位整数和8位字符的机器上,使用拉丁-1字符集,其中'q'的位模式为01110001?
答案是:
十进制的最终值是-7296。
他们是如何到达那里的?
基本上,我需要解释整个~'q' << 6
的含义以及它们如何得到负数。
答案 0 :(得分:2)
当'q'= 0b01110001时,则以十进制格式q = 113。 不是q(~q)= ~113 = -114(0b1111111110001110)。 当我们离开-114乘6时我们得到-7296(0b1110001110000000)。