笔记,如何区分大端、小端?

大端、小端问题叫做"字节序"问题,单字节没有这个问题。

然后说多字节。不同的计算机厂商没有达成一致,有些厂商储存0x1234是先存12再存34,有些厂商则反过来。如何记忆呢?

找到标准很重要。所有计算机厂商储存字符串的方式是一样的:储存字符串"abcd",在地址低的地方储存a,在地址高的地方储存d,阅读一个字符串,是沿着地址增加的方向进行的。对应到程序里,就是指针p++,这一点没有幺蛾子出现。

现在就可以区分大端、小端了。沿着地址增加的方向看,先显示高位数字的是大端,先显示低位数字的是小端。

x86、龙芯CPU都是小端。

互联网、GB2312、都是大端。

举例:

一个int型变量a的值是1,在内存中占用4字节。沿着地址增加的方向看,它的值是:01 00 00 00,这是小端。注意,字节内部没有字节序问题,所以,不要一股脑地写成10 00 00 00。

GB2312编码的"啊"是0xB0A1,沿着地址增加的方向看,就是B0和A1,这是大端。

查看Python源代码,发现它的大整数是小端。这么一来,若一个大整数由3个unsigned int表示,则个位数在地址偏移量为0的地方。它不是十进制,也不是二进制,而是232进制。更高的位在地址偏移量更大的地方,这么设计编程会容易点儿。

总结:

以上就是关于大端、小端问题的笔记,希望能够帮助到你。

相关推荐
bug嘛我经常写8 分钟前
MIKE21结合ArcGIS制作随时间变化的降水文件(.dfs2)-笔记
经验分享·笔记·arcgis
hanlin039 分钟前
刷题笔记:力扣第169题-多数元素
笔记·算法·leetcode
kaixin_啊啊31 分钟前
中国研究生数学建模竞赛(华为杯)学习笔记——数据预处理全流程
人工智能·笔记·学习·数学建模·ai·大模型·数据预处理
星云API|微信接口开发4 小时前
企业微信二次开发实战笔记:如何用在线调试快速验证接口功能
数据库·笔记·企业微信
David猪大卫9 小时前
【C++修炼】智能指针使用及原理
开发语言·c++·经验分享·笔记·学习·考研·面试
自小吃多14 小时前
高云FPGA ModelSim中的仿真
笔记·嵌入式硬件·fpga开发
小刘在重生~15 小时前
Java 异常体系完整笔记
java·笔记·python
泡泡鱼(敲代码中)15 小时前
Python语法技术学习笔记
开发语言·笔记·python·学习·pycharm
祁白_18 小时前
防御引擎绕过方法
笔记·web安全·php·防御引擎
志尊宝18 小时前
Vue3 零基础每日笔记(009):watch 侦听器——数据一变就“做事“
vue.js·笔记·缓存