[問題] 能否儲存無理數

看板C_and_CPP (C/C++)作者 (大笨羊)時間12年前 (2013/07/14 01:00), 編輯推噓6(6017)
留言23則, 11人參與, 最新討論串1/1
小弟最近在想一些事情 有關c/c++ 我們都知道他只能提供"大部分有理數範圍的變數" (不是全部 例如1/3) 但是 如果今天要開發2D/3D 程式 勢必有用到無理數 否則總是會有誤差 也許這種資料型別會很複雜 也很難被電腦接受 可是我不確定未來的電腦是否可能達成這個目標 應該就像人類最後發現有無理數一樣的進化著 以後根號2的平方 就不會是(1.414..)^2 的誤差 這在航太科學應該會很有用 因為未來的世界也許會有移民外星的生活(或許我們這一代看不到) 只要數值有誤差 假如說軌道運算 那麼可能只是一點點失誤 卻像是蝴蝶效應般越差越多 不知道這種想法有沒有意義 感謝收看 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.241.51.7

07/14 01:13, , 1F
突然覺得這問題好蠢..。好想刪掉阿 囧
07/14 01:13, 1F

07/14 01:15, , 2F
還是刪掉吧,無理數也是實數。
07/14 01:15, 2F
感謝提醒..打太快= ="

07/14 01:17, , 3F
Python 好像支援複數XD
07/14 01:17, 3F
※ 編輯: wa007123456 來自: 111.241.51.7 (07/14 01:30)

07/14 02:21, , 4F
之前為了作業就寫了一個"分數"的class出來
07/14 02:21, 4F

07/14 02:33, , 5F
你先想想...無限精確的東西連存都存不起來了
07/14 02:33, 5F

07/14 02:34, , 6F
唯一能做的就是精確到可以接受就好 多精確就看用途
07/14 02:34, 6F

07/14 03:30, , 7F
你可以去研究 CGAL 裡面定義了很多實數 有理數 無理數
07/14 03:30, 7F

07/14 03:31, , 8F
交給Fortran
07/14 03:31, 8F

07/14 03:31, , 9F
的幾何運算 實際運用時會因為 實數運算太慢 用 double
07/14 03:31, 9F

07/14 03:33, , 10F
你需要去玩玩別人的 library 已經有很多人想的比你深遠了
07/14 03:33, 10F

07/14 09:09, , 11F
或者有另一種 approach 是它就是存成 √2 這個樣子
07/14 09:09, 11F

07/14 09:10, , 12F
然後另外寫程式表示這種數要怎麼做加減乘除
07/14 09:10, 12F

07/14 09:11, , 13F
不過這依然還是要看用途...
07/14 09:11, 13F

07/14 10:44, , 14F
一方面可能的是symbolic計算, 不過當然速度太慢
07/14 10:44, 14F

07/14 10:45, , 15F
computable reals也有人研究~ 例如一種表現方式是用
07/14 10:45, 15F

07/14 10:47, , 16F
柯西序列. 但是這個實數跟你想像的差非常多
07/14 10:47, 16F

07/14 10:47, , 17F
因為實數相等判定是undecidable, 我們只能知道說這個數離
07/14 10:47, 17F

07/14 10:49, , 18F
另一個數能不能很近. 感覺你想的比較接近symbolic計算
07/14 10:49, 18F

07/14 11:55, , 19F
不是都用泰勒展開嗎
07/14 11:55, 19F

07/14 11:56, , 20F
誤差不可能是0 但可以要多近有多近(只要電腦存得下)
07/14 11:56, 20F

07/14 11:56, , 21F
這樣很夠了吧 以工程來說
07/14 11:56, 21F

07/17 07:31, , 22F
er... C++不是有std::complex嗎? @_@a?
07/17 07:31, 22F

07/17 07:33, , 23F
阿 我看錯 我以為你要的是虛數.. XD
07/17 07:33, 23F
文章代碼(AID): #1HuOV6WL (C_and_CPP)
文章代碼(AID): #1HuOV6WL (C_and_CPP)