我有一个“公式”来构建一个这样的数字:parameter + ( 256 * i )
其中i
表示从0到10的数字。
如果i = 0
我得到裸parameter
值,那没问题。问题是我不知道如何找出i
变量是0还是有任何其他值。
例如,如果我收到值786,我知道这意味着:274 + (256 * 2)
但是我可以创建一个代码来查明我是否给了它任何值?
答案 0 :(得分:0)
由于256 = 2 ^ 8,这意味着如果parameter
始终小于256,parameter
是最不重要的8位(parameter = v & 255
),i
是其余的位(i = v >> 8
)。
如果parameter
可能大于256,则一般情况下无法查明i
是否为0,如果您还没有i
。 (在你的例子中,你怎么知道它不是18 + 256 * 3
?)