我试图将小端转换为大端并遇到麻烦。我有一个数组,它有 2 个字节的 unsigned char,它是十六进制值。我想通过零来使它成为大端,我无法得到我想要的值。
例如,我的目标是获得
array[0] = 0b
array[1] = 40
output = 0b40 so i can see this value as 2880 when %d
所以我用
output = (array[1]>>4) | (array[0]<<4);
但实际上,我看到
printf("output = %x04\n", output);
output = 00b4
我希望输出为 0b40,这样我可以得到 2880
printf("output = %x\n", output);
output = 0b40
printf("output = %d\n", output);
output = 2880
谢谢大家任何帮助将不胜感激