【发布时间】:2018-02-06 17:45:52
【问题描述】:
写作时:
uint8_t var_a[4] = {0, 255, 0, 255};
我希望内存布局是:
00000000111111110000000011111111
但是当转换为 uint32 时:
cout << *(uint32_t*)var_a;
它返回 4278255360,这是相反的
11111111000000001111111100000000
这是如何工作的?
【问题讨论】:
-
谷歌字节序
-
*(uint32_t*)var_a是未定义的行为。