0

谁能告诉我这个操作是如何工作的?索引是数字,它可以是 0 到 128 之间的任何数字。我只是不明白 (index & 0x88) 如何为 0 或不为 0。

任何帮助将不胜感激!

4

3 回答 3

3

0x88相当于10001000二进制。因此,它将是0iff 索引的二进制值是0xxx0xxx,其中x是任何二进制数字。

于 2013-04-24T05:37:24.733 回答
2

& 运算符是按位与,如果 0x88 的二进制数字和索引中对应的点都是 1,则不会 == 0。相反的情况,如果没有一个数字都是 1,则 & 的结果将是 0

在这种情况下,您的十六进制数 88 在二进制中是 10001000,因此 (index & 10001000) 可以等于 0,只要 index 在它的第 4 和第 8 位置有 0(例如,01110111)

于 2013-04-24T05:39:50.700 回答
0

&bitwise and运算符(应用于数字时)。

例如,110 & 101 = 100

0x8810001000二进制的。

于 2013-04-24T05:37:24.437 回答