Chinaunix首页 | 论坛 | 博客
  • 博客访问: 359176
  • 博文数量: 60
  • 博客积分: 15
  • 博客等级: 民兵
  • 技术积分: 1138
  • 用 户 组: 普通用户
  • 注册时间: 2012-03-20 16:18
个人简介

最多140个字

文章分类

全部博文(60)

文章存档

2016年(1)

2015年(34)

2014年(25)

分类: C/C++

2014-03-25 20:47:08

以int类型为例:

点击(此处)折叠或打开
    void swap1(int *rhs)


  1. {
  2.     unsigned char *p=rhs;
  3.     unsigned char temp;
  4.     temp=p[0];
  5.     p[0]=[1];
  6.     p[1]=temp;

  7.     temp=p[1];
  8.     p[1]=[2];
  9.     p[2]=temp;
  10.     return ;
  11. }

  12. void swap2(int *rhs)
  13. {
  14.     *rhs=(((*rhs)&0xff000000)>>24) | (((*rhs)&0x00ff0000)>>8) | (((*rhs)&0x000000ff)<<24) | (((*rhs)&0x0000ff00)<<8);
  15. }
    


    int check1()//检查主机字节顺序是否是大端法,如果是,返回1,否则返回0.
    {
        int i=0x12345678;
        unsigned char *p=&i;
        return (0x12==p[0]);
    }

    int check2()
    {
        union{
            unsigned int i;
            unsigned char s[4];
        }c;
        c.i=0x12345678;
        return (0x12==c.s[0]);
    }





阅读(3567) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~