判断大小端--C语言版

简介: 判断大小端--C语言版

首先,什么是大小端存储方式?

大端(存储)模式,是指数据的低位保存在内存的高地址中,而数据的高位,保存在内存的低地址 中; 小端(存储)模式,是指数据的低位保存在内存的低地址中,而数据的高位,,保存在内存的高地 址中。

方法一:使用强制类型转换
int is_byteorder(int* p)
{

return *(char*)p;//强制类型转换,将精度跳得更高一点

}
int main()
{

int n = 1;
int ret = is_byteorder(&n);
if (ret == 1)
{
    printf("小端\n");
}
else
{
    printf("大端\n");
}
return 0;

}
复制代码
方法二:利用联合体数据存储的特点
联合体里面的数据会共用同一块内存,改变其中一个数据的值,其他数据的值可能也会随之变化

int is_byteorder(int* p)
{

union un {  //定义一个联合体类型
    int i;
    char c;
}u;
u.i = 1;//修改i的值,c的值也会随之发生变化
return u.c;

}
int main()
{

int n = 2;
int ret = is_byteorder(&n);
if (ret == 1)
{
    printf("小端\n");
}
else
{
    printf("大端\n");
}
return 0;

}
复制代码
如果将 i 改为1,如果是小端存储,就会将01存储到 c 中,就会返回1

目录
相关文章
|
3月前
|
存储 C语言
C语言第六十弹----设计函数判断系统大小端字节序
C语言第六十弹----设计函数判断系统大小端字节序
|
10月前
|
存储 编译器 C语言
【初阶C语言】操作符1--对二进制的操作
本节内容介绍的操作符,操作的对象是二进制位。所以前面先介绍整数的二进制位
65 0
|
9月前
|
程序员 C语言
10 C语言 - 判断
10 C语言 - 判断
45 0
|
3月前
|
安全 编译器 C语言
【C语言】字符串和内存函数的介绍 -- 详解
【C语言】字符串和内存函数的介绍 -- 详解
|
12月前
|
C语言
【C语言练习】 二进制中1的个数
【C语言练习】 二进制中1的个数
70 0
|
存储 C语言
【C语言】求二进制中1的个数(三种方法)
【C语言】求二进制中1的个数(三种方法)
173 0
【C语言】求二进制中1的个数(三种方法)
|
存储 C语言
C语言/关于字符串逆序存储
C语言/关于字符串逆序存储
|
存储 编译器 C语言
【C语言】大小端介绍以及判断大小端的两种方式
【C语言】大小端介绍以及判断大小端的两种方式
313 0
|
C语言
c语言进制转换 栈的操作
c语言进制转换 栈的操作
|
C语言
C语言之选择判断(一)
C语言之选择判断(一)