深入理解计算机系统2

一、寻址和字节顺序

大端法小端法:大小-高低位

端-地址的最前面

用自己的mac测试代码深入理解计算机系统2_第1张图片

是小端

32 位的机器,使用 4 字节的地址,64 位的机器使用 8 字节的地址。虽然整型和浮

点数都是对数值 12345 进行编码,但是它们却有着完全不同的字节模式。

类型 值 十六进制

int 12,345 0x00003039

float 12,345.0 0x00e44046

二、补码意义

我的理解就是通过溢出可以实现一个负数所应有的与正数相加所具有的性质,进而可以利用位运算优势计算减法等等

三、两种除法

我们以乘除 2 的倍数为例进行讨论补码乘除的运算规则: 

原码运算:

• 

对于一般的以 2

为因子的乘法,我们只需要对原码进行移动,例如:[5]原=01012,

若将原码乘以 2,则相当于所有位数向左移动一个单位,即为 10102=[10]原,除法

只需要进行右移即可。即: 对于原码,不论正负,若某个数字乘 2

的倍数,则只

需要对原码向左移动 w 个单位,空缺位补 0。 

• 

补码运算:

• 

对于补码,正数则仍然按照原码规则进行计算,而负数则需要保证符号位不变,

在向左移动时补 0,向右移动时补 1。例如:[-5]补=10112,将其乘以 2,则保持符

号位最高的 1 不变,其余位置向左移动一个单位,空出来的最后侧加 0,则为

101102=[-10]补

你可能感兴趣的:(其他)