在計算器中輸入1?
這種設計并不奇怪,實際上這是一種被稱作“常數計算”的功能,幾十年前就有了。
不信可以先嘗試以下操作:在Windows 10自帶的計算器應用中輸入1+2,然后一直按=鍵,可以發現每按一次=鍵結果都被加上了2。
實際上,常數計算的功能被用在含有兩個操作數的運算中,例如加、減、乘、除、任意冪、任意冪開方的運算等。當按下=鍵時,該功能被記錄,使得用戶可以在繼續按=鍵的情況下,將前面的運算中的第二個操作數作為常數k且作為新的第二個操作數,而前一次計算的結果作為第一個操作數。但由于平方運算只需要一個操作數,因此原來的第二個操作數與運算的記錄仍然存在,可以簡單地理解為堆棧。(即第一層為第一個操作數,第二層為運算符,第三層為第二個操作數,平方運算僅僅對第一個操作數有效,第二、三層不受影響。)
這樣,上面的操作在計算器內部的運算就是:
1+2=3;
2→k;
3+k=5;
5+k=7;
……
早期實體的單行顯示計算器由于只能顯示一行數字結果,在需要連續計算的情況下,這種功能是十分有用的,而且這一功能與夏普的單行顯示計算器最為相似。以上世紀80年代的EL-506H為例,執行問題所述的操作:
可以看到與問題的描述完全一致。
卡西歐早期生產的單行顯示計算器雖然也有常數功能,但需要將運算符按兩次才能出發該功能,并在屏幕上顯示一個“K”的標記。例如1+2+2+2+……就需要按1、+、+、2,然后一直按=鍵。
現在雙行顯示以及更高級的計算器,由于采用了一次性將表達式按書寫順序輸入的方式,這種連續計算的功能變成了通過調用上一次計算結果“Ans”功能代替,例如1+2+2+2+……就可以按如下方式計算:1+2=3;然后輸入Ans+2,一直按=即可。
嘛,可能現在一部分人根本沒接觸過這樣的計算器,所以才會少見多怪。
另請參閱:電卓院亜紀良:微軟的計算器為什么輸入 ln 2 是先輸入 2 再輸入 ln?