線上計算機

免費、不用安裝。一般模式處理日常加減乘除、百分比;切到工程(科學)模式就有三角函數、對數、次方、開根號、階乘和括號。手機單手好按,電腦可以直接用鍵盤輸入。

全部在你的瀏覽器裡計算。算式和結果不會傳到任何地方。

0
MC
MR
M+
M−
(
)
⌫
7
8
9
÷
4
5
6
×
1
2
3
−
±
0
.
+
%
=

怎麼用這個計算機

在畫面上按數字和運算鍵,或直接用電腦鍵盤打:數字、+ - * /、小數點、括號 ( )、^(次方)、!(階乘)、%;Enter 或 = 算出結果,Backspace 退一格,Esc 全部清除。也可以直接貼上一條算式,例如 (120+80)×1.05 或 sin(30)+2π;看不懂的字元會提示並略過。數字會自動加千分位,算式打到一半,上方就會即時顯示目前的結果。

算出來的順序和精確度

很多手機內建的計算機是「按一個運算符號就立刻結算」,所以 2 + 3 × 4 會得到 20。這個計算機是先把整條算式讀完再算,遵守數學上的優先順序:括號 → 函數與階乘 → 次方 → 乘除 → 加減,同一層由左往右(次方由右往左)。因此 2 + 3 × 4 = 14,(2 + 3) × 4 = 20。

解析算式的程式是自己寫的遞迴下降解析器,逐字拆解你輸入的內容,沒有把輸入交給瀏覽器的 eval 或 Function 去執行,所以貼上來路不明的文字也不會被當成程式碼跑。

浮點誤差的處理方式:電腦用雙精度浮點數,0.1 + 0.2 實際上是 0.30000000000000004。這裡每次運算後都先取到 15 位有效數字,再把結果顯示成最多 12 位有效數字,小尾巴就看不到了。整數在 15 位以內都是精確的;超過 1E15 的大數、小於 1E-6 的小數會改用科學記號,例如 2^100 顯示成 1.26765060023E+30。除以 0 會顯示「無法除以 0」,超過約 1.8E+308 的結果顯示「數值超出範圍」,不會當機。

百分比鍵遵循常見的手機習慣:200 + 10% 是在 200 上加兩成,等於 220;單獨 10% 就是 0.1。階乘接受 0 到 170 的整數,更大的數會超出範圍。

常見問題

為什麼 0.1 + 0.2 在這裡算出來是 0.3?

電腦用二進位存小數,0.1 和 0.2 都無法精確表示,直接相加會得到 0.30000000000000004 這種尾巴。這個計算機每做完一次運算,就先四捨五入到 15 位有效數字,把這種誤差抹掉,顯示時再取最多 12 位有效數字,所以 0.1 + 0.2 會是 0.3。代價是超過 15 位有效數字的精確度不保證,一般生活、報稅、對帳用的數字都夠用。

算式的優先順序是怎麼處理的?

先括號,再函數、階乘、次方,接著乘除,最後才是加減,和數學課本一致。所以 2 + 3 × 4 是 14,不是 20。次方是由右往左算,2^3^2 等於 2^9 = 512。負號的優先順序低於次方,−2^2 是 −4,要得到 4 請寫成 (−2)^2。很多手機內建計算機是「按一個運算就立刻算一次」,結果會和這裡不同。

三角函數要選角度還是弳度?

工程/科學模式裡有一顆「角度 DEG/弳度 RAD」按鈕。學校數學、測量、一般生活用角度(一圈 360 度),這是預設;微積分、物理、程式常用弳度(一圈 2π)。切到角度時,sin(30) 是 0.5;切到弳度,sin(30) 是 −0.988。算 sin(π) 時會看到約 1.22E-16 而不是 0,因為 π 本身只是近似值,這是所有計算機的共同現象。

百分比鍵怎麼用?

單獨使用時,「%」就是除以 100:50% = 0.5。接在加減後面時,是「對前面的數字加減幾成」:200 + 10% 算出來是 220,200 − 10% 是 180。接在乘除後面就是單純的百分數:200 × 10% = 20。想算「A 是 B 的百分之幾」,直接輸入 A ÷ B × 100。

輸入的數字會被傳到哪裡嗎?

不會。計算全部在你的瀏覽器裡完成,算式、結果、記憶和計算紀錄都只存在這個分頁的記憶體,關掉或重新整理就清空,不寫入 Cookie 或儲存空間,也不會傳到伺服器。網站只會記錄「有人按了模式切換、清除」這類操作次數,不會記錄你輸入了什麼。

計算原理說明

其他免費工具