当前位置:网站首页>C语言-大端存储和小端存储
C语言-大端存储和小端存储
2022-08-09 00:40:00 【柿子__】
一. 简介
我们知道,一般内存的最小地址单位为字节。如下图,一个int型的变量是4个字节,我们用2个十六进制数表示1个字节,int型变量需要用到8个十六进制数表示。
大端(存储)模式:数据的低位保存在内存的高地址中,而数据的高位,保存在内存的低地址中。
小端(存储)模式:数据的低位保存在内存的低地址中,而数据的高位,,保存在内存的高地址中。
二. 用一个程序判断大小端
思路: 我们定义一个
int
型变量a
,并且赋值为1
。然后取a
的地址强制转换成char*
类型,让一个char*
类型的指针变量pa
指向它,这样pa
解引用访问的数据就是a
第一个字节的数据,也就是低地址的数据,如图的紫色区域的数据。
#include <stdio.h>
int main()
{
int a = 1;
char* pa = (char*)&a;
if (*pa == 1)
{
printf("小端\n");
}
else
{
printf("大端\n");
}
return 0;
}
边栏推荐
猜你喜欢
随机推荐
小G砍树 (换根dp)
控件限制总结
NodeJs连接mysql数据库
JSON basics, transfer JSON data, and introduce four mainstream frameworks, jackson, gson, fastjson, and json-lib!
手把手教你云服务器如何搭建typecho博客网站(包括配置免费SSL证书)
大计算量优化方法总结
【科研-学习-pytorch】6-数值计算
怎么重置mysql的自增列AUTO_INCREMENT初时值
【科研-学习-pytorch】1-框架特性和常见问题类型
轻量级网络SqueezeNet学习记录
灰色预测模型
神经网络基本原理
笔记&代码 | 统计学——基于R(第四版) 第十一章 时间序列预测
Unity3D小白学习日记(02):U3D如何连接SQL SERVER数据库(亲测可行!)
4-7 Matplotlib库 箱线图
Using MySQL in Ubuntu/Linux environment: Solve the problem of com.mysql.jdbc.PacketTooBigException: Packet for query is too large
京东三面惨遭被虐,关于 redis,高并发,分布式,问懵了
CondConv--动态卷积思想
非线性规划——0-1问题、指派问题例子
【科研-学习-pytorch】2-线性回归