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

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

然后说多字节。不同的计算机厂商没有达成一致,有些厂商储存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进制。更高的位在地址偏移量更大的地方,这么设计编程会容易点儿。

总结:

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

相关推荐
Larry_Yanan5 小时前
QML学习笔记(四十二)QML的MessageDialog
c++·笔记·qt·学习·ui
能不能别报错5 小时前
K8s学习笔记(十九) K8s资源限制
笔记·学习·kubernetes
sulikey6 小时前
【Linux权限机制深入理解】为何没有目录写权限仍能修改文件权限?
linux·运维·笔记·ubuntu·centos
十安_数学好题速析6 小时前
倍数关系:最多能选出多少个数
笔记·学习·高考
Hello_Embed6 小时前
STM32 环境监测项目笔记(一):DHT11 温湿度传感器原理与驱动实现
c语言·笔记·stm32·单片机·嵌入式软件
程序员大雄学编程8 小时前
「深度学习笔记4」深度学习优化算法完全指南:从梯度下降到Adam的实战详解
笔记·深度学习·算法·机器学习
新子y8 小时前
【小白笔记】PyTorch 和 Python 基础的这些问题
pytorch·笔记·python
rechol9 小时前
类与对象(中)笔记整理
java·javascript·笔记
新子y9 小时前
【小白笔记】KNN 核心预测函数 _predict_one 的过程
笔记
橘子是码猴子9 小时前
LangExtract:基于LLM的信息抽取框架 学习笔记
笔记·学习