姜咏江
我们常说理论对技术有巨大的推动作用,限位数理论与方法对机器计算的设计就产生了这样的效果。我举两个实际设计的例子:
1. 流行的补码制硬是给数的机器表示加上一个“正负号数码”,因而不仅出现了“正负零”的概念,而且影响了实际的数值计算。长期以来让许多人搞不清楚“正负号”是如何参加机器数值计算的。例如,8位二进制数10000000的值是多少?是“-0”还是128?这种二义性是补码制的悲哀,会在计算中出现边缘错误!限位数理论会认定8位有符号二进制机器数不能表示128,10000000的值是-128,与0不搭界!
2. 将8位二进制数保值扩充成16位二进制数,在补码制中什么理由要“添加符号数码”?
两个极为简单且在电路设计中碰到的问题,却很少有人提出异议。其实这样简单的理论问题,会深刻影响数值电子电路设计与计算的发展。
限位数理论指出:位数固定的机器数,除去0(每位数码都是0)之外,较小的一半是值是正数,较大的一半值是负数,分界点上的数永远是负数。值相反数的数码形式相加为数的“个数”。
在限位数此种规定之下,我们容易推断出机器有符号数扩充的方法:正数左面添“0”,负数左面添“最大数码”。
就是在这样的理论指导之下,会让我们实际逻辑电路的设计变得更有效和容易。首先,不论对任何进制,我们不再用一个数码来表示符号,只要是一个机器数,我们就可以知道它表示的是正数还是负数,从而增加了值域。其次,值避免了“二义性”,软硬件结合会让我们真正实现机器的精确计算。
限位数的理论使我们精确了对机器数的认识,在浮点运算器设计上的应用(请参考http://www.sciencenet.cn/m/user_content.aspx?id=367010),你会看到使用限位数理论使数值电路的设计变得更加简单和精确。
一个理论可能会让我们改变整个技术设计方法。
2010-10-2
https://wap.sciencenet.cn/blog-340399-368960.html
上一篇:
希望不要把品德和科学混为一谈下一篇:
中国人科学研究落后的思维方式