【C++】什么是大小端,如何判断大小端

文章目录

  • 什么是大小端
  • 大小端与操作系统有关嘛
  • 如何判断大小端
    • 方法一
    • 方法二

什么是大小端

1.大端模式:是指数据的高字节保存在内存的低地址中;

2.小端模式:是指数据的高字节保存在内存的高地址中;

例如0x12345678

大小端与操作系统有关嘛

如何判断大小端

方法一

//1.利用当前一个高类型的变量给其赋值,然后取到其低地址,查看其存储的数据。
#include<stdio.h>
void CheckSystem()
{int a = 1;int num = (*(char*)&a);//&a 取出a的地址;  (char*)&a 代表a变量地址的第一个字节的地址if (num == 1)printf("小端\n");elseprintf("大端\n");
}
int main()
{CheckSystem();getchar();return 0;
}

方法二


//2.联合体特性
int CheckSystem()
{union check{int num;char a;//2个变量公用一块内存空间,并且2个变量的首地址相等}b;b.num = 1;//1存放在变量num的低位return (b.a == 1);//当变量a=1,相当于将数据的低位存到了内存的低地址处,即小端模式
}
int main()
{int c = CheckSystem();printf("c : %d\n", c);getchar();return 0;
}

本文链接:https://my.lmcjl.com/post/1778.html

展开阅读全文

4 评论

留下您的评论.