反向按位运算符

时间:2015-04-23 04:13:09

标签: c# vb.net bit-manipulation

我有一个很好的搜索,花了几个小时的浪费时间,我不能做一个简单的反向移位:(

Dim result = VALUE >> 8 And &HFF

我现有的代码从文件读取VALUE(一个UInt16),该位是否转移到它。我想要做的是反过来,所以可以使用上面的现有代码保存和阅读。

我已经阅读了这篇精彩的Code Project文章,但也可能是拉丁文。

2 个答案:

答案 0 :(得分:6)

UInt16 tt = 12123; //10111101011011
int aa = tt >> 8 & 0xFF; //101111 = 47

8位消失了。你永远无法收回它。

答案 1 :(得分:1)

如果您的值为54,则为二进制110110

如果您转移54>> 2,它将位移到右边

00110110
00011011(换班次)
00001101(班次两次)

你最终得到13.如果你向左移动13。 13<< 2

00001101
00011010(换班次)
00110100(换班两次)

你最终会得到52