二进制数位数扩展方法

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};

 

Over!

你可能感兴趣的:(面试题)