什麼情況下double替換float?

時間 2021-05-11 18:41:26

1樓:

你不在意精度的時候就能換,其實更嚴謹的說法是你不在意精度並且範圍不會越界,就可以換。因為截斷的原因,浮點數的二進位制和十進位制的表達有一些區別。一些十進位制的小數比如0.

3實際並沒有二進位制的精確表達,所以double和float由於截斷的長度不同使得這些數表面上看是同乙個數實際卻不相等。這些差異是截斷引起的,如果精度要求上可以忽略這些截斷誤差,那麼完全可以把這兩個不同的結果當成同乙個值,也就是你所謂的替換。

2樓:szouc

scanf 的轉換說明 %lf 對應 double 型別資料, %f 對應 float 資料。printf 的轉化說明符 %f 對應 double 型別資料,printf 函式中的 float 型別資料自動轉化為 double 型別,這主要是為了相容以前版本。

3樓:

常規應用和系統開發基本上都是用double,不要用float.

float 主要有兩種應用場景,

1,計算效能很低,記憶體資源很少的嵌入式裝置2,對精度要求比較小,對計算效率敏感的深度學習訓練類應用

4樓:fairlyblank

scanf需要知道按哪種型別儲存資料,顯然float和double的資料結構是不一樣的。

// float

float

weight

;scanf

("%f",&

weight

);// double

double

weight

;scanf

("%lf",&

weight);

5樓:rundstedt

IEEE-754單精度浮點數只有7位精度(十進位制),雙精度double有15位精度(十進位制)。比如乙個float值1.234567,最後的那個7其實是不准的,有可能是8,也有可能是6。

「了」和「著」在什麼情況下可以互相替換,什麼情況下不可以?

poem 著 了是動詞的體 aspect 而非時 tense 著是持續體 進行體 了是完成體。而在看起來像是著 了可替換的句例裡,都涉及到了存在體。比如古代漢語裡有 設有 這樣的表示式 現代漢語裡仍可這樣說 其中的 有 就是存在體。於是,在這些句例裡,著兼為 持續體,存在體 了兼為 完成體,存在體 ...

什麼情況下1 1 1?

理性思考的有趣表達 太多了,人類感知中的世界裡 1 1 1的現象比比皆是,因為概念或感知常常是人類對現實的一種 四捨五入 式的概括。如 0.6 0.7 1.3 被四捨五入地認識後就是1 1 1 數學中的 分球悖論 你搜一下,會發現它也是1 1 1的翻版,1顆球可由兩顆與之半徑相同的球經過分割重組的方...

什麼情況下需要換手機?

餘小其 iPhone6 plus 128g兩年多的老機器。現在依舊監聽,當時買就買的是日版。才4000,還是8.12的系統,不能刷機,螢幕換了2次。前段時間不能刷知乎。準備換的,現在知乎又讓我下了乙個舊保本,挺好手機這種電子產品,一年出乙個新,我也是真的想買,不過人成熟了。要還房貸了,也就沒有那麼多...