我正在处理的数据是b,更详细的描述是a。至少这是我理解它的方式。任何与基本位操作的进一步链接都是非常感谢的。我所看到的所有对象都有b作为0x8000。我要查一查c的数据。
我有:
ushort a
ushort bA从2-5开始。
b = 0x8000
ushort c = (ushort)( a | b )我可以吗?如果是的话,我怎么能从c到a?
我试过了( a &b),但这使我找到了b而不是a。虽然我知道,如果可能的话,如果我理解操作的话,那应该很容易。
发布于 2014-10-12 18:03:20
基本上,它是c AND NOT b。
ushort a2 = (ushort) (c & ~b);但只是因为a是从2-5,这是小于0x8000。
当a和b开始在比特中重叠时,您将陷入困境。
发布于 2014-10-12 18:05:22
只有当a较小时,这才能工作,从a的间隔来看,这是正确的。
这两种方法都将起作用:
a = (ushort) (c & ~b)
a = (ushort) c - bhttps://stackoverflow.com/questions/26328216
复制相似问题