位反转 - 不清楚输出是什么

时间:2015-08-05 13:39:44

标签: c++ bit-manipulation bitwise-operators bit-shift

我正在阅读以下示例:

CDbl(strDate)

基本上,我认为目的是颠倒2个UINT32 Reg(s)变量中读取的位,并仅收集UINT32类型的1个变量。

如果SecondReg的第一位(例如)将成为返回变量的第17位或第一位,我不会得到。

1 个答案:

答案 0 :(得分:0)

首先,即使algorythm使用32位整数,也只使用16个最低有效位,因为它们 anded 只有16位值。

因此,在第一部分(最后一班之前)FirstRegSecondReg包含原始值的16个最低有效位相反后。

然后FirstReg左移8位,SecondReg右移8位,两者都 ored 。结果是32位值由(最重要的字节到最小)组成:O,FirstReg的高位字节,FirstReg的低位字节,SecondReg的高位字节