如何判断机器大小端

简介: 如何判断机器大小端

前言:

int a = 1;

(1)什么是大端?

把数据的低位字节序的内容存放在高地址处,高位字节序的内容存放在低地址处

 

(2)什么是小端?

把数据的低位字节序的内容存放在低地址处,高位字节序的内容存放在高地址处

如何判断机器大小端字节序?

a的地址为int类型的指针,指向整数a,a为4字节,将指针强转为char类型,截取最后一个字节:(1)如果最后一个字节值为1,说明低地址存放低字节,机器为小端字节序;

(2)反之,如果最后一个字节值为0,说明低地址存放高字节,机器为大端字节序

1. int main()
2. {
3. 
4.     int a = 1;
5.  char* p = (char*)&a;
6.  if (*p == 1)
7.  {
8.    printf("小端");
9.  }
10.   else
11.   {
12.     printf("大端");
13.   }
14.   return 0;
15. }


相关文章
|
8月前
|
存储 算法
【三种方法】求一个整数存储在内存中二进制中的1的个数附两道课外练习题
【三种方法】求一个整数存储在内存中二进制中的1的个数附两道课外练习题
62 0
|
存储 网络协议
机器大小端存储模式
机器大小端存储模式
|
C语言
C语言测试机器大小端的方法
C语言测试机器大小端的方法
100 0
机器字长,指令字长,存储字长
机器字长,指令字长,存储字长
|
存储 C语言
【实验向】问题:假设计算机A和计算机B通信,计算机A给计算机B发送一串16个字节的二进制字节串,以数组形式表示:
【实验向】问题:假设计算机A和计算机B通信,计算机A给计算机B发送一串16个字节的二进制字节串,以数组形式表示:
157 0
西门子S7-1200的运动控制功能、系统使能指令块、错误确认指令块、回参考点或设置参考点指令块的参数含义
今天我们来介绍西门子S7-1200的运动控制功能。西门子S7-1200的运动控制指令是通过使用相关工艺数据块和CPU的专用脉冲串输出来控制轴的运动。
西门子S7-1200的运动控制功能、系统使能指令块、错误确认指令块、回参考点或设置参考点指令块的参数含义
|
存储 小程序 C语言
【C语言】请简述大端字节序和小端字节序的概念,设计一个小程序来判断当前机器的字节序
简述大端字节序和小端字节序的概念,设计一个小程序来判断当前机器的字节序
|
存储 编译器 C语言
计算机大端与小端的详细解析,含判断机器大小端代码
计算机大端与小端的详细解析,含判断机器大小端代码
335 0
【每日一题Day41】生成交替二进制字符串的最小操作数 | 模拟 位运算
思路:长度一定的交替二进制字符串有两种可能性,以字符0开头的0101字符串和以字符1开头的1010字符串,因此只需要将字符串s与这两种字符串进行比较,记录不相同的字符个数,最后返回较小值即可
105 0
【每日一题Day41】生成交替二进制字符串的最小操作数 | 模拟 位运算
|
存储
【计算机系统结构】堆栈、累加、通用寄存器型机器对比
【计算机系统结构】堆栈、累加、通用寄存器型机器对比
548 0