可能重复:
convert big endian to little endian in C [without using provided func]无符号整型成小尾形式
我无法与这一部分:如果我想采取一个32位的数字,我想将它的字节(1字节= 8位)从大端移到小端形式。例如:
可以说我有数字1
在32位,这是它会是什么样子:
1st byte 2nd byte 3rd byte 4th byte
00000000 00000000 00000000 00000001
我想它,使它看起来像这样:
4th byte 3rd byte 2nd byte 1st byte
00000001 00000000 00000000 00000000
因此最低有效值的字节首先出现。我在想你可以使用for循环,但我不确定如何在C++中移位位/字节。例如,如果用户输入1,我不得不像上面的例子那样移动它的位,我不知道如何将1转换为位,然后移位。任何人都可以将我指向正确的方向吗?谢谢!
@NPE怎么能说是重复的,如果它甚至不是同日而语? –
因为大多数(如果不是所有)关于数字和操作的规则都是从C到C++的? – cHao
@LuchianGrigore:当然,但在我看来,它仍然是重复的,因为它明确地说明了“移位和字节”,而不是“如何以奇特的C++风格来做这件事”。当然,社区可以另外做出决定。 – NPE