用處就是提高精度了,比如做科學計算,機器學習,3d等等領域,精度要求還是很高的。當然同時也引入了對新手的一些不太友好的坑。

比如前幾天遇到企業微信中審批Api的單號用浮點數類型表示導致在做編號比對是出現問題。

浮點在不含有小數位的時候和整型看似一樣,但是還有不少區別的,比如類型最大值,不同類型對比判斷,都會讓新手感到邏輯處理上浮點類型帶來種種惡意。

不過浮點還是帶來了很有意義的創新,比如在同32位的系統上,同樣4位元組存儲int和float,但是浮點的編碼方式就很有美感(參考計算機組成原理中IEEE 浮點編碼)。浮點更多體現了先輩們在處理數據中展現的卓越能力,同時也為後世留下了寶貴的知識遺產。

總之呢,浮點挺好的,最起碼,它能讓你深入的研究一下,更深刻的體會計算機2進位的魅力。


百度百科是這樣解釋這個詞條的:浮點數是屬於有理數中某特定子集的數的數字表示,在計算機中用以近似表示任意某個實數。具體的說,這個實數由一個整數或定點數(即尾數)乘以某個基數(計算機中通常是2)的整數次冪得到,這種表示方法類似於基數為10的科學記數法.

其實我覺得浮點數是一種單位跨度,相對整數具有更精細的跨度單位,對於部分整數不能完成的事作用是非常大的,相對於數學中的線性方程式,或者建模中相關計算應用是非常廣泛的。


簡單的來想,小數有什麼用?


精確度


為啥前邊的回答都是提高精度呢?

和整型相比,同樣的二進位長度,浮點數是犧牲精度以提高表達範圍的啊。


提高數據的精度,整數往往精度不夠


和小數差不多。


提高數據的精度


推薦閱讀:
相关文章