看板 NTUE-CS100 關於我們 聯絡資訊
大數 什麼是大數? 簡單講就是超大的數.... 電腦的資料型態都受到範圍限制,比如說Java裡的int可以到20億,long可以到九百萬兆 ,double大約有15位的精確度,超過這些範圍計算就會GG。 內建型態可以應付大部分日常狀況,但總有例外,我舉個簡單的例子,化學計算莫耳數 6x10^23,或者是算酸鹼濃度時候,滿天飛來飛去的幾十幾百次方,或者天文上要計算 半人馬座到地球的距離,這些科學計算很容易就超出內建資料型態的範圍。 那怎麼辦呢?超出電腦能應付的範圍後,就只用人腦啦。 自己親手對數字操作各種加減乘除動作,這就是大數運算 == 大數運算依照需求可以寫到不同的程度,比如說只支援正整數啦...或者全部整數 我這邊打算講彈性最大的一種,不只支援正負號,還支援浮點運算 (就是有小數點啦...) 為了讓大家有更鮮明的印象 我舉個例子,到時候各位寫出來的計算機將可以做以下運算 :D 123456789123456789123459789123456789123456.9789123459789888555522222277 + (或者-*/) 0.0000000000044445879551235458984651321326589546212365498987984321356598788888 = ? 看起來很可怕嗎? 其實大數運算不難,只要有一些數學常識,加一顆靈活的腦袋。 ps.很久沒寫java了,教學可能沒辦法寫很快,哈哈... -- 夜精小德 Char - 巨龍之喉 (前月神殿) PvP -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.68.15.209