如何判断大端小端

如何判断大端小端,第1张

这个关键是判断第一个字节的内容比较而来。和书写顺序一致就是大端,不书写顺序不一致就是小端,随便写了一个小测试腊帆圆程序,源码如下:

#include <cstdio>

char endian()

{

int i = 0x423f3f4C//i存储了4个字符轿握,B??L

return *(char *)&i

}

int main(int ac,char **pav)

{

char ch = endian()

if (ch=='L') printf("little endian!\n")

else if (ch=='B') printf("big endian!\n")

else if (ch=='?') printf("unknow endian!\n")

return 0

}

执行效果如下图轮塌所示:

如果是考虑可移植性之类的,你完全可以使用

unsigned  char endian(){int i =  ~0 - 1return *(unsigned char *)(&i)}

#include <stdio.h>

union utype

{

    局戚碰int i

    char a

}

void main()

{

    union 仔巧utype u

    u.i = 1

    if (u.a)

        桐谈printf("小端\n")

    else

        printf("大端\n")

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12522180.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存