当8位的整数与32位的整数相加时,就要将8位的整数扩展成32位。
时刻谨记:扩展是为了方便机器对齐进行相加计算,所以填充不会改变本身的数值。
原码0101扩展4位后为00000101,数值还是5。
分为正数的扩展和负数的扩展:
正数的扩展无论是什么编码表示通通符号位不变,用0填充进行扩展。
例子:0,101 → 0,000101
负数的扩展则根据不同的编码表示各不相同。
例子:1,011
原码:1,0000011
反码:1,1111011
补码:1,1111011
对于补码表示的小数(原码也同理),在进行扩展时,用0在后面填充。
例子:1.011
补码=原码:1.0110000