以前要寫三天的程式,現在半天就能搞定。
以前動輒查三天的bug,現在三崗制一卡,大部分都能在穿孔前發現。
數學組的人都覺得,最難的日子已經過去了。
直到他們遇到了“負數”問題。
······
“華老,您看看這個。”
蘇步雲把那張列印紙推到華老面前。
華老還在草稿紙上驗算著什麼,他放下鋼筆,接過列印紙,只看了一眼,眉頭就立刻皺成了一個疙瘩。
“-32768?”
“對。”蘇步雲有點不好意思,“我一開始也以為是程式寫錯了,或者紙帶穿錯了。”
“可我查了三遍程式,三崗制也過了兩遍,卻沒有發現任何問題。”
“e......小蘇,這是不是中間結果膨脹了?”
華教授一眼就點出了問題的結症,蘇步雲也立刻反應了過來,懊惱道:“哎呀!我用的是雅可比迭代。”
華老拿起草稿紙,在上面寫了幾筆。
“雅可比迭代的中間矩陣,本來就會比最終結果大一個量級。”
“你按最終結果選比例因子,中間不溢位才怪。”
蘇步雲有點不好意思。
這個失誤,說大不大,說小不小。
溢位這個問題,從機器設計之初他們就知道,16位定點數,最大正數32767,超過這個數值就會溢位,從而導致符號位翻轉的問題。
林遠也提前提醒過,讓他們用比例因子法。
可蘇步雲卻犯了個錯誤:他只算了最終結果的範圍,卻沒算中間結果。
畢竟大壩應力的最終結果是幾千公斤/平方釐米,除以1000之後變成幾個單位,怎麼都不會溢位。
但迭代過程中的中間矩陣,元素值會膨脹到幾萬甚至幾十萬。
比例因子沒留夠餘量,中間結果直接就爆炸了。
這個問題,比之前所有的問題都要棘手。
之前的問題,是工具的問題,只要肯想辦法,總能解決。
可溢位不一樣。
這是機器本身的物理限制。
。了不改你,位號符是就位號符,位61是就位61
。來位溢能只它,升毫00004倒裡往要非你,水的升毫76723量能多最,筒量個一比好就
。口開然忽老華”。你怪不這,蘇小“
。頭起抬雲步蘇
”。位溢會不都麼怎,數點這力應壩大,萬多008到能數正大最,話的位42“,字數的上紙稿草著看老華”。位42做持堅該就我,候時的長字位61定初當“
”。標目定既了離偏重嚴經已,位42到擴再,管子電個多0001了用經已位61,說組時當可“
”。加再面後以可長字,構架通跑先機證驗,說也志同遠林“
”。了用夠該應,子因例比加數點定,著想我“
。聲一了笑苦,頓了頓他
”。了好就下一持堅再時當我“
。的免避以可是本這,誤錯的”了錯算“是而,誤錯的”道知不“是不這為因,疚些有得顯刻此雲步蘇
。到料沒也誰,多麼這脹膨會果結間中可,向方了給也遠林法子因例比,懂都們他理原的位溢
。了用沒都些這說在現過不
。行才補找法辦想得








