(第二篇)
目录
3.底层程序设计
3.1二进制和进制转换
3.1.1二进制转十进制
3.1.2十进制转二进制
3.1.3二进制转其他进制
3.2原码,反码,补码
3.2.1有符号整数
3.2.2无符号整数
3.3大小端字节序
3.3.1大小端判断
3.底层程序设计
3.1二进制和进制转换

3.1.1二进制转十进制

3.1.2十进制转二进制

3.1.3二进制转其他进制


(a)我们知道,8=2的三次方,于是在二进制转换为八进制中,可以使用三位二进制对应一位八进制数的方式转换。例如以上1101011,可以将其三位三位拆解,在每个三位中采用正常的转换,如第一个三位111=7,第二个001=1,拼在一起就是111001=71;
(b)十六进制同理;
3.2原码,反码,补码
3.2.1有符号整数


(a)在内存中,一个int数据占四个字节,也就是32个比特位,能存32位0和1;
(b)有符号整数1位存储符号位,31位存储数据,所以最大为2的32次方-1;
如下代码:

(c)原反补码转换

3.2.2无符号整数

(a)后续的加减等计算使用的都是补码;

3.3大小端字节序






(a)由于CPU采用的是逐个读取的方式,所以必须采用按地址高低的顺序存储,便于使用时读取不失误;
3.3.1大小端判断


(a)我们知道int 类型在内存中占用4个字节,char类型占用1个字节,所以可以使用强制类型转化,这样存储的长度减少后只剩下在低地址1个字节的内容,最后if判断是否有数据即可直到是大小端;


![[LangChain] 学习笔记(02):LCEL 链式调用与动态模型配置实战-171主机测评](https://www.171host.com/wp-content/uploads/2026/10/20261030203301-6ae4fefdb54f3-220x150.png)
![[LangChain] 学习笔记(02):LCEL 链式调用与动态模型配置实战-171主机测评](https://www.171host.com/wp-content/uploads/2026/10/20261030202745-6ae4fdc1556bf-220x150.png)
