大小端介绍及其检测方法
2017-11-02 20:57
162 查看
大小端介绍
大端存储
将一个数据的低字节序的内容存储到高地址处,高字节序的内容存储到低地址处。
2.小端存储
将一个数据的低字节序内容存储到低地址处,将高字节序的内容存储到高地址处。
检测方法
算法一:
取出一个整型数的地址,并拿出第一个字节判断是高字节序还是低字节序
算法二:
利用共用体成员共用一块空间,取出第一个字节的地址,进行判断
运行结果:
注:以上结果在win 10 vs2013 环境下测试
大端存储
将一个数据的低字节序的内容存储到高地址处,高字节序的内容存储到低地址处。
2.小端存储
将一个数据的低字节序内容存储到低地址处,将高字节序的内容存储到高地址处。
检测方法
算法一:
取出一个整型数的地址,并拿出第一个字节判断是高字节序还是低字节序
#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> int check_sys() { int a = 1; char *p = (char *)&a; //取地址并取出第一个字节进行 return *p; //返回第一个字节,是1为小端存储,是0为大端存储 } int main() { int ret = check_sys(); if (ret == 1) { printf("小端存储\n"); } else if (ret == 0) { printf("大端存储\n"); } return 0; }
算法二:
利用共用体成员共用一块空间,取出第一个字节的地址,进行判断
#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> int check_sys() { union Un { char c; int i; }u; u.i = 1; //整型和字符型共用同一块空间,取出第一个字节的地址 return u.c; } int main() { int ret = check_sys(); if (ret == 1) { printf("小端存储\n"); } else if (ret == 0) { printf("大端存储\n"); } return 0; }
运行结果:
注:以上结果在win 10 vs2013 环境下测试
相关文章推荐
- 大小端介绍及检测方法
- 大端小端模式简单介绍 以及三种检测大小端存储的方法
- C#中的反射机制及其反射方法详细介绍
- 基于大数据分析的异常检测方法及其思路实例
- WindowsXP的三种锁屏方法及其优缺点介绍
- 基于大数据分析的异常检测方法及其思路实例
- 详细介绍 Hibernate 泛型 DAO 及其使用方法
- 基于大数据分析的异常检测方法及其思路实例
- Linux系统下JDK的安装及其配置方法介绍
- 2款Python内存检测工具介绍和使用方法
- jsp分页介绍及其实现方法
- 详细介绍 Hibernate 泛型 DAO 及其使用方法
- 存储过程的优势及其调用方法介绍
- 目标检测最新方法介绍
- LISA介绍及其使用方法
- android中各种控件,及其方法介绍
- Orcl表分区和表空间的简单介绍,及其简单的创建方法
- rpm文件介绍及其安装方法
- 【C#基础】方法及其调用、构造方法、out与ref参数及其返回值、方法重载、静态方法等简单介绍