虽然有多种方法可以在一个字节中反转位顺序,但我很好奇开发人员实现的"最简单".通过颠倒我的意思是:
1110 -> 0111
0010 -> 0100
Run Code Online (Sandbox Code Playgroud)
这与此 PHP问题类似,但不重复.
这与此 C问题类似,但不重复.这个问题要求开发人员实施最简单的方法."最佳算法"涉及内存和CPU性能.
我正在尝试将uint8_t数组强制转换为uint32_t数组。但是,当我尝试执行此操作时,我似乎无法访问每个连续的4个字节。
让我们说我有一个8字节的uint8_t数组。我想作为一个uint32_t访问字节2-> 6。
这些都得到相同的值*((uint32_t*)&uint8Array[0]),*((uint32_t*)&uint8Array[1]),*((uint32_t*)&uint8Array[2]),*((uint32_t*)&uint8Array[3])
虽然*((uint32_t*)&uint8Array[4])按预期方式获得字节4-> 8。
看来我无法从任何地址访问4个连续字节?
有什么办法可以做到这一点?