【发布时间】:2019-02-10 18:06:31
【问题描述】:
我不明白以下代码的结果:
unsigned char p = 170;
p = (~p) >> 4 & 255;
结果是:245,我不明白为什么。
首先 (~p) 将应用 10101010 到 01010101 的原因
这是一个正数,所以 >> 4 在我的理解中会导致 00000101。
但它似乎是 11110101,我不明白为什么。据我了解,将正数向右移动将插入 0 而不是 1。
【问题讨论】:
-
@WaqasShabbir 未签名 ;-)