码迷,mamicode.com
首页 > 其他好文 > 详细

字节序问题

时间:2015-07-08 18:21:36      阅读:100      评论:0      收藏:0      [点我收藏+]

标签:

  字节序由处理器决定,它分为两大阵营,一方以Intel为代表,其处理器的字节序是小尾端模式,即低地址存储数据的低位部分,高地址存储数据的高位部分;另一方以IBM为代表,其处理器的字节序是大尾端模式,即低地址存储数据的高位部分,高地址存储数据的低位部分。

  可用以下的简单代码测试CPU的大小端,小段输出0x78,大端0x12

#include <stdio.h>
int main()
{
    int i = 0x12345678;
    char *p = &i;
    printf("%x\n", p);
    return 0;
}

  结构体的位域成员变量

  为了节省空间,如果结构体有几个成员变量的取值范围很小,那么可以考虑将它们合并在一个字节里或一个short、int变量里。使用一个类型超过一个字节的变量时,需要考虑字节序,那么在结构体中使用位域时,需不需要考虑bit序呢?即一个整形变量内包含多个位域变量,各变量的bit顺序是不是固定的呢?通过测试发现,各CPU体系结构的位域bit序跟其字节序大小端是一致的。

  

 

字节序问题

标签:

原文地址:http://www.cnblogs.com/chinhao/p/4615841.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!