首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >大小端法互换

大小端法互换

作者头像
chinchao.xyz
发布于 2022-04-25 15:26:06
发布于 2022-04-25 15:26:06
8310
举报
文章被收录于专栏:k8s快速入门k8s快速入门
1.以int32类型为例:
  • 方法1:
代码语言:javascript
复制
void swapInt(int *rhs)
{
    unsigned char *p=rhs;
    unsigned char temp;
    temp=p[0];
    p[0]=[1];
    p[1]=temp;
    temp=p[1];
    p[1]=[2];
    p[2]=temp;
    return ;
}
  • 方法2:
代码语言:javascript
复制
void swapInt(int *rhs)
{
    *rhs=(((*rhs)&0xff000000)>>24) | (((*rhs)&0x00ff0000)>>8) \
	 | (((*rhs)&0x000000ff)<<24) | (((*rhs)&0x0000ff00)<<8); 
}
2.检测机器字节序:大端法or小端法
  • 方法1:
代码语言:javascript
复制
int checkEndian()//检查主机字节顺序是否是大端法,如果是,返回1,否则返回0.
{
        int i=0x12345678;
        unsigned char *p=&i;
        return (0x12==p[0]);
}
  • 方法2:
代码语言:javascript
复制
int checkEndian()
{
        union{
            unsigned int i;
            unsigned char s[4];
        }c;
        c.i=0x12345678;
        return (0x12==c.s[0]);
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2013-10-09,如有侵权请联系 cloudcommunity@tencent.com 删除
目录
  • 1.以int32类型为例:
  • 2.检测机器字节序:大端法or小端法
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档