我想转换无符号的32位整数,如下所示:
Input = 0xdeadbeef
Output = 0xfeebdaed
谢谢。
答案 0 :(得分:4)
不字节序转换。输出应为0xEFBEADDE
,而不是0xFEEBDAED
。 (仅交换字节,每个字节为2个十六进制数字。)
要在小端和大端之间进行转换,请查看_byteswap_ulong。
答案 1 :(得分:1)
半字节逆转的一般过程是:
((i& 0xF0000000)>> 28)| ((i& 0xF000000)>> 20)| ((i& 0xF00000)>> 12) | ..... | ((i& 0xF)<< 28)
掩盖,转移,或(我希望我的数字正确):
如果要重新排序字节,则将使用0xFF进行掩码。正如每个人都说这可能是你想要的,如果你正在寻找一个罐装版本,请按照其他人的建议。