以前要写三天的程序,现在半天就能搞定。
以前动辄查三天的bug,现在三岗制一卡,大部分都能在穿孔前发现。
数学组的人都觉得,最难的日子已经过去了。
直到他们遇到了“负数”问题。
······
“华老,您看看这个。”
苏步云把那张打印纸推到华老面前。
华老还在草稿纸上验算着什么,他放下钢笔,接过打印纸,只看了一眼,眉头就立刻皱成了一个疙瘩。
“-32768?”
“对。”苏步云有点不好意思,“我一开始也以为是程序写错了,或者纸带穿错了。”
“可我查了三遍程序,三岗制也过了两遍,却没有发现任何问题。”
“emm......小苏,这是不是中间结果膨胀了?”
华教授一眼就点出了问题的结症,苏步云也立刻反应了过来,懊恼道:“哎呀!我用的是雅可比迭代。”
华老拿起草稿纸,在上面写了几笔。
“雅可比迭代的中间矩阵,本来就会比最终结果大一个量级。”
“你按最终结果选比例因子,中间不溢出才怪。”
苏步云有点不好意思。
这个失误,说大不大,说小不小。
溢出这个问题,从机器设计之初他们就知道,16位定点数,最大正数32767,超过这个数值就会溢出,从而导致符号位翻转的问题。
林远也提前提醒过,让他们用比例因子法。
可苏步云却犯了个错误:他只算了最终结果的范围,却没算中间结果。