2009-12-31 62 views
5

爲什麼C++沒有< cstdfloat>頭像浮點數,就像它有整數的< cstdint>?爲什麼我們在C++中沒有<cstdfloat>?

編輯:

通過< cstdfloat>我的意思報頭提供用於浮點和雙精度的typedef。很像Qt中的qreal typedef。希望我的問題現在已經清楚。

+2

實際上並不是標準C++的一部分 – 2009-12-31 20:07:58

+0

從cstdint中,您希望獲得哪些浮點數? – 2009-12-31 20:12:49

+2

@Neil它將被添加到C++ 0x,雖然 – dvide 2009-12-31 20:16:31

回答

6

通常一個應用程序需要正好16位的整數,比如位域,但是正好有16位的浮點數是沒用的。在一個整數中操作位很容易,因此恰好有16位是很好的。操作浮點中的位需要將其轉換爲整數,使float16類型變得無關緊要。基於同樣的道理,擁有一個能夠存儲指針並且能夠執行數學運算的整數類型是有用的,但是誰需要將指針值轉換爲浮點值,然後對其執行浮點數學運算,然後將其轉換回指針?

的要點是,大部分功能在stdint.h(或cstdint爲C++,不同之處在於stdint.h是C99報頭和在技術上不是部分的C++)不適用於浮點值。

2

您是否在尋找<float.h>及其C++兄弟<cfloat>而不是?

+0

是不同的事情。我正在討論爲float和double提供typedefs的頭文件。很像Qt中的qreal typedef。希望你現在明白我的問題。 – missingfaktor 2009-12-31 20:10:25

+0

然後你應該在你的問題中指定。你的問題非常含糊。 – 2009-12-31 20:11:42

+0

@羅森菲爾德:對不起。現在編輯我的問題。 – missingfaktor 2009-12-31 20:12:30

相關問題