概述

学计算机组成的时候遇到了,就写一下自己的理解

应用场景

在计算机组成中,少位二进制数和多位二进制数进行运算时,需要用到

如1111(4位二进制)与11001100(8位二进制)相加或者其它运算时,4位的二进制需要进行扩展,才能与8位二进制运算

零扩展

高位直接补0的扩展,如1111变成00001111,补0并不影响计算结果,这个很好理解,但如果二进制数带了符号,就不一样了,因为最高位是符号位,所以1111就总一个负数,变成了一个正数00001111,由此,产生了符号扩展

符号扩展

高位直接补符号位,如0111扩展成00001111,而1000扩展成11111000,而且它也不影响计算结果,这里看着有点难理解了
你可以试着计算一下

1111+1000=0111
00001111+11111000=00000111

去掉扩展的符号,还是原来的味道


木申
0 声望2 粉丝

我是一名golang程序员,还很初级,在学习的路上


引用和评论

0 条评论