Q
位至字节在C++
-1
A
回答
1
所以,你想颠倒一个字节的位。也就是说,该位应移动这样:
from: 7 6 5 4 3 2 1 0
to: 0 1 2 3 4 5 6 7
此代码将做到这一点,粗暴 - 如果你搜索,你可以找到更好的算法。你能看到它是如何工作的吗?
uint8_t reverse_bits(uint8_t byte)
{
return ((byte & 0x01) << 7)
|((byte & 0x02) << 5)
|((byte & 0x04) << 3)
|((byte & 0x08) << 1)
|((byte & 0x10) >> 1)
|((byte & 0x20) >> 3)
|((byte & 0x40) >> 5)
|((byte & 0x80) >> 7);
}
+0
这完全有效,thanx,我不能ü – 2013-03-10 00:05:08
+0
你现在可以自己建立字节? – Useless 2013-03-10 00:06:25
+0
我正在处理这个问题,它没有出来 – 2013-03-10 00:07:59
-1
你应该尝试过一些东西,并被一个bug卡住了,然后用上述代码问你的问题。您能否提供代码给您提供问题? – didierc 2013-03-09 23:37:55
看看std :: bitset,它可能会帮助你。 – 2013-03-09 23:39:25
你可以先查看[这篇文章](http://stackoverflow.com/questions/63776)吗? – StarPinkER 2013-03-09 23:42:58