看板 C_Sharp 關於我們 聯絡資訊
你是說因為Math.PI在C#裡面是3.14159265358979323846的關係嗎? 如果是因為Math.PI != 真正的pi, 那為什麼Math.Sin(Math.PI * 1 / 2) = 1呢? ※ 引述《tomex (tomex_ou)》之銘言: : 試想想這問題出現在以下的算式時: : 10 / 3 * 3 : 人一看的想,根本不會算,就直接把除數及乘數3消掉 : 但電腦若沒設運算優先,它會先作10/3,ans是永遠除不盡的小數點... : 這ans再*3,當然也不會等於10呀!! : 運算這種問題的時候一定要小心... : 其實電腦學家也試圖要讓電腦聰明一點, : 不要每次看到常常的運算就硬幹去乘除, : 這是AI的研究,希望電腦能儘可能先消去以減少運算的可能。 : 像新手寫二項式求解的程式一樣, : 一開始都像要用loop硬幹, : 其實國中就有教公式,而公式本身含有歸納邏輯的快速求解 : 一開始就該用公式呀!! 道理是一樣的... : 不要因為電腦快,就凡事讓它硬幹!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 210.68.184.96