扩展和截断

扩展

无符号数扩展:将一个无符号数转换为一个更大的数据类型,我们只需要简单的在二进制序列前面添加 0 即可

有符号数的扩展:将其补码数字转换为一个更大的数据类型,我们需要在开头添加符号位,即在前面补符号位

如果我们原始位为[xw-1 , xw-2 , … , x2 , x1 , x0],那么扩展k位后就可以表示为:[xw-1 ,xw-1 ,...,xw-1 , xw-2 , … , x2 , x1 , x0],其中增加有k个xw-1

 

截断

将一个 w 位的数 [xw-1 , xw-2 , … , x2 , x1 , x0] 截断为一个 k 位数字时,我们会丢弃高 w-k 位。得到 [xk-1 , xk-2 , … , x2 , x1 , x0]

对于无符号截断公式为:

  

而对于有符号(补码编码)的截断,我们只需要多加一步,将无符号编码转换为补码编码就可以了。

    

结果为

posted @ 2018-09-10 10:52  小时候挺菜  阅读(319)  评论(0编辑  收藏  举报