我有一个 UINT8 指针 mArray,它通过 *(UINT16 *) 转换分配信息。例如:
int offset = someValue;
UINT16 mUINT16 = 0xAAFF
*(UINT16 *)&mArray[offset] = mUINT16;
for(int i = 0; i < mArrayLength; i++)
{
printf("%02X",*(mArray + i));
}
output: ... FF AA ...
expected: ... AA FF ...
当它达到偏移量时,我期望打印的值是 AA FF,但打印的值是 FF AA,我一直想不通为什么。
最佳答案
你正在使用一个小端机器。
关于c++ - 打印时 UINT16 值显示为 "backwards",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1288761/