学习笔记-深入理解计算机系统03

学习笔记-深入理解计算机系统03
学习笔记-深入理解计算机系统03

1、计算机中三种最重要的数字编码: A.无符号编码:基于传统的二进制表示法,表示大于或者等于零的数字; B.二进制补码:用于表示有符号整数的最常见方式; C.浮点数:用于表示实数;

2、计算机用有限的位数来对一个数字进行编码,所以当数字太大时就会产生“ 溢出”。

3、二进制整数运算可以满足数学整数运算的许多基本特性,例如成法结合率、交换率等,但实数(浮点数)运算却有不同的数学属性,例如实数运算不具结合性。这种差异有不同的编码方式所引起。

4、在大多数计算机中都将8位bit作为一个字节,字节是最小的存储单位;

5、 十进制转换成二进制、十六进制的方法
5.1、十进制数是2的幂时,也就是x=2的n次方。 转换成二进制的方法是“1后面跟n个零”。例如16=2的4次方 二进制是10000(1后面4个零),2046是2的11次方 二进制是100000000000(1后面11个零); 转换成十六进制的方法是“用n除以4的得到商j和余数i,用2的i次方后跟j个零”。例如16=2的4次方 十六进制是10(4除以4得到余数0和商1,2的0次方是1,后面再跟1个零),2046是2的11次方,十六进制是
800(11除以4得到余数3和商2,2的3次方是8,后面再跟2个零);
5.2、一般的十进制数(相对于是2的幂而言),使用除法来处理一般数的转换,即用十进制数x除以16得到商q和余数r,有公式x=q*16+r。该公式可以扩展为通用转换公式:x = q * base + r,即x除以进制基数(如二进制是2、16进制是16、8进制就是8)得到商q和余数r。需要注意的是最先得到的值是最低位的数。

6、 信息编码的大端法/小端法:表示对象的字节排序规则有两种——大端法与小端法;大端法是 从最高有效字节向最低有效字节的顺序进行存储(即最高有效字节在前面)的方法,而小端法正好相反 从最低有效字节向最高有效字节进行存储(即最低有效字节在前面)。举例来看,对于0x012345这个十六进制数来说,按大端法存储时的字节顺序是:01-->23-->45,反之小端法是:45-->23-->01。我们常用的Intel的机器遵循小端法,而IBM、Sun的大多数机器都遵循大端法,而且很多微处理器的芯片都可以通过外部设置以在任何一种模式下工作。

7、 大端法/小端法强调的是字节的顺序:一个字节是8位(bit)即两位16进制数,所以一定要注意反向时的单位(是字节)。例如:0x1234的小端法是:3412,而不是4321。

你可能感兴趣的:(学习笔记-深入理解计算机系统03)