我必须解决一个问题
ab的值如果ab& 0x3f等于0x27。
为了解决问题,我假设让ab为0xMN
,然后N&f
表示N&1111
,但这里的书说明N&1111
应该产生0111
,即{{1} }} => N应为7。
同样地,7
如何在没有说明如何的情况下如何产生M&0011
。
对于你们这个人来说这可能很简单,但我在这里尝试没有成功。
答案 0 :(得分:1)
以这种方式思考 - 一点只能有2个可能的值,即0或1.如果你记下二进制表示,你最终会得到类似下面的东西:
abcd efgh
& 0011 1111
-----------
= 0010 0111
按照bitwise AND
的定义,给出以下结果的a到h的值分别为0,0,1,0,0,1,1,1。转换回十六进制,值为0x27。
正如@jlahd在下面的评论中指出的,还有三个值可以满足这个等式:0x67,0xa7和0xe7。这是因为x&0 = 0
因此上述a
和b
可以采用任何可能的值,而不会影响结果。