二进制数位数扩展方法

1.当两个二进制数运算时,整数位和小数位字长必须相等,即两个数的整数位数应相同,小数位数应相同;若两个数的位数不同或者运算时溢出,则应该扩展位数!

2.整数和小数 扩展位数的规则:

(1)正数:有符号或无符号数的原码,反码,补码,一律整数在高位补0来补充少的位数,小数在低位补0来补充少的位数;

(2)原码负数:整数高位补0,小数低位补0;

(3)反码负数:整数高位补1,小数低位补1;

(4)补码负数:整数高位补1,小数低位补0;(非常重要,在硬件编程中经常用到!!!)

例子:verilog中,将a扩充为10位的b

          wire [7:0] a;

  wire [9:0] b = {{2{a[7]}},a};

你可能感兴趣的:(计算机组成原理,verilog)