大端小端

采用 Little-endian 模式的 CPU 对操作数的存放方式是从低字节到高字节,而 Big-endian 模式对操作数的存放方式是从高字节到低字 节。 例如,16bit 宽的数 0x1234 在 Little-endian 模式 CPU 内存中的存放方式(假设从地址 0x4000 开始存放)为: 内 存 地址 0x4000 0x34 0x4001 0x12 而在 Big-endian 模式 CPU 内存中的存放方式则为: 内 存 地址 0x4000 0x12 0x4001 0x34 联合体 union 的存放顺序是所有成员都从低地址开始存放。 请写一个 C 函数,若处理器是 Big_endian 的,则返回 0;若是 Little_endian 的,则返回 1 解答: int checkCPU() { { union w { int a; char b; } c; c.a = 1; return (c.b = = 1); } }
posted on 2015-04-03 08:43  后进后退  阅读(111)  评论(0编辑  收藏  举报