科學計算機
支援三角函數、對數、指數、階乘等科學計算功能
什麼是科學計算機?
科學計算機是一款功能強大的線上數學計算工具,支援基礎四則運算和進階科學函數計算。它提供三角函數(sin、cos、tan 及其反函數)、對數函數(log、ln)、指數函數、冪運算、階乘、絕對值等豐富的數學運算功能。
該計算機支援角度(DEG)和弧度(RAD)兩種模式切換,內建圓周率π和自然常數e,並提供記憶儲存功能(M+、M-、MR、MC),滿足日常學習和工作中的各種科學計算需求。所有計算均在瀏覽器本地完成,保護您的資料隱私。
使用方法
使用方法
- 點選計算機面板上的數字和運算符按鈕輸入數學表達式
- 點選科學函數按鈕(如 sin、cos、log)插入函數,使用括號控制運算優先順序
- 點選等號按鈕或按 Enter 計算結果,表達式和結果將顯示在頂部
- 使用 DEG/RAD 按鈕在角度/弧度模式之間切換,使用 M+/M-/MR/MC 管理記憶體
計算技巧
- 在使用三角函數前檢查 DEG/RAD 模式;相同的數字在角度和弧度模式下可能產生截然不同的結果。
- 對於多步驟表達式,請使用括號明確運算優先順序,而不是依賴心算分組。
使用場景
技術原理
計算機使用調車場演算法解析每個表達式,將中綴語法轉換為尊重運算子優先順序和冪運算右結合性的後綴序列。括號強制分組,一元負號被折疊到運算元中,常數如 pi 或 e 旁的隱含乘法在後綴轉換前會被正規化,以避免產生歧義的標記。 數值計算完全在 IEEE 754 雙精度浮點數上執行,提供大約 15-17 位有效十進位數字,量級範圍約為正負 1.7976931348623157e308。經典的浮點陷阱依然適用:0.1 + 0.2 的結果是 0.30000000000000004,因為兩個運算元都沒有有限的二進位表示,而在長鏈的近似值減法中,中間結果可能會丟失精度。 三角函數、對數、指數和根號函數委託給 JavaScript Math 函式庫。DEG/RAD 切換在呼叫 Math.sin、Math.cos 或 Math.tan 之前將角度乘以或除以 pi/180,反函數則在結果上反轉轉換。階乘使用迭代乘積計算,因此 170! 接近雙精度上限約 7.257e+306,171! 會溢出為 Infinity。
- 調車場解析器:將中綴轉換為後綴,尊重優先順序(^ 右結合,一元負號折疊到運算元中)
- IEEE 754 雙精度:約 15-17 位有效數字,最大約 1.79e+308,經典案例 0.1 + 0.2 = 0.30000000000000004
- DEG/RAD 轉換:呼叫 Math.sin/cos/tan 前將角度乘以 pi/180,反函數在結果上反轉縮放
- 階乘溢出邊界:170! 約 7.257e+306,171! 在 JavaScript 數字類型中回傳 Infinity
- 內建常數:Math.PI(3.141592653589793)和 Math.E(2.718281828459045)作為標記插入,不會每次重新解析
- 超越函數:Math.log 是自然對數(ln),Math.log10 是以 10 為底的對數,Math.exp(x) 計算 e^x,Math.pow 處理 x^y
- 記憶體暫存器:M+ / M- 累加到單一數字變數,MR 將其作為字面值推回輸入,MC 歸零
範例
三角函數:度與弧度
模式:DEG
sin(30) = 0.5
cos(60) = 0.5
tan(45) = 1
模式:RAD
sin(pi/4) = 0.70710678
cos(pi) = -1
tan(pi/3) = 1.73205081對數、指數、e 與 pi
log(1000) = 3 (以 10 為底的對數)
ln(e) = 1 (自然對數)
exp(1) = 2.71828183
e^2 = 7.389056
2^10 = 1024
pi * 2 = 6.28318531階乘與組合數
5! = 120
10! = 3628800
170! = 7.257e+306 (IEEE-754 溢位前的最大值)
171! = Infinity
C(52,5) 透過 52!/(5!*47!) = 2598960 (撲克牌組合數)記憶鍵:累計加總
步驟 1:輸入 125.50,按 M+ -> 記憶 = 125.50
步驟 2:輸入 89.99,按 M+ -> 記憶 = 215.49
步驟 3:輸入 12.00,按 M- -> 記憶 = 203.49
步驟 4:按 MR -> 顯示 = 203.49
用途:計算收據總額時無須重新輸入小計常見問題
支援哪些函式?
標準四則運算、括號、平方根與其他根式、次方、對數(log = 以 10 為底,ln = 自然對數)、指數函式、三角函式(sin/cos/tan 與反三角)、雙曲函式、階乘、取餘、絕對值,以及常數 π 和 e。部分版本還包含統計輔助(平均、標準差)。
角度是用弧度還是度數?
有切換按鈕,預設是度數。度數模式下 sin(30°) = 0.5;弧度模式下 sin(30) ≈ −0.988。畫面上會顯示目前的模式,做三角運算前請先確認。
為什麼 0.1 + 0.2 不等於 0.3?
JavaScript 採用 IEEE 754 雙精度浮點數。0.1 與 0.2 在二進位中無法精確表示,因此 0.1 + 0.2 = 0.30000000000000004。計算機會在顯示時做四捨五入隱藏這個誤差,但對於超越函式運算,無法提供任意小數精度。
怎麼計算很長的算式?
直接輸入完整算式即可,解析器會遵守運算子優先順序與括號。請寫成 2*(3+4)^2,而不是 2*3+4^2。函式旁的隱式相乘(如 2sin(30))依解析器而異,加上 * 永遠是安全的。
支援複數或符號運算嗎?
不支援。這是純數值科學計算機。需要複數、符號微分或解方程式時,請使用 Wolfram Alpha、GeoGebra 或 SymPy 這類 CAS。
計算是在本機進行的嗎?
是。算式是在瀏覽器中解析與運算,不會上傳。歷史紀錄(若有)儲存在 localStorage,清除網站資料就會清掉。
科學函式的精度如何?
JavaScript 標準的 Math 函式提供約 15~17 位十進位有效位,工程運算綽綽有餘,但不足以做高精度符號運算。需要任意精度時,請使用 decimal.js 這類函式庫或 CAS。