c語言可否定義一種128bit的浮點數資料型別?

時間 2021-05-13 08:33:02

1樓:Aman

所以不是如何定義,應該是如何實現。

如果你要搞天文計算,有各種專用系統和工具;如果是搞貨幣計算,應該用整數計算(通過縮放 100 倍精確到分)來避免浮點計算的誤差。你的需求是什麼?(這段是我的疑問,可以不用理會)

GNU 系列編譯器實現了 float128,可以直接使用,這是編譯器實現的。VC 的話據我所知應該沒有,不過我不 100% 確定。

Berkeley SoftFloat 實現。

如果你用 C++ 的話,boost 庫裡面有 multiprecision 庫。

我相信還有許多高精度數學庫實現了 float128。

自己實現。IEEE754 標準裡面有 Binary128,要實現這個格式本身並不難。但是要完成正確的計算和轉換,那將是專家級程式設計。

2樓:書遠

你喜歡你定義乙個1MB的浮點數都行,只要你覺哦有意義。

現在常規程式設計基本上乙個double就完全夠用了,又不搞天文,數學計算之類的。

3樓:

C語言早已經支援啦,試試long double型別現在我們的通用計算機基本是64位的,對超過64位的數值計算沒有硬體支援,計算效率不夠高,所以並不推薦使用。

不過在專業領域應用已經不少,畢竟只是精度問題,沒有技術門檻攔著。

參見:https://

en.wikipedia.org/wiki/Quadruple-precision_floating-point_format

C語言可否自定義數值型別 或是任意個位元組的數值型別

null122 struct myStruct BHEscaper 已經有人回答了 Bit fields 在這裡我補充一下,使用 Bit fields 要注意位元組序的問題。How Endianness Effects Bitfield Packing 上面鏈結比較詳細的說明了位元組序對 Bit f...

能否定義一種模擬于波和粒子的新的物質,使其具有波粒二象性,並把光歸類為這一種物質?

本我永恆自我不息 波和粒子是兩種很好用的物理模型,但由於二者在經典時空中的表現完全不同,甚至相反,所以無法在經典觀念下合為乙個模型.於是,量子力學來解決這個問題了.光在不同的條件下,在量子力學中就可以表現出不同的性質.唯一對量子力學構成的問題是,量子中的物質描述與經典完全不同,有一種狀態叫 疊加態 ...

「不能被定義」是一種定義嗎?

執悲今厄 又乙個因否定而產生的糾結。否定果真是萬惡之源 如果乙個否定句不能被轉化為肯定句來描述,那麼這樣的否定句就是不成立的。 青春 不能被定義也是一種定義,這是乙個悖論,即這裡面有邏輯矛盾。這就說明不存在不能被定義的事物。相當於用反證法證明了一切事物都可被定義。 Piper 如果把定義這個概念畫乙...