課程
/后端開發
/C
/C語言入門
不是說double是雙精度,精確位數有十六位啊,怎么也是輸出八位
還有這個又是為啥
結果是這個,說好的16位呢。
2019-11-02
源自:C語言入門 2-8
正在回答
找到了,百度上的
double與float的區別在于在內存中存放數據時占用的內存不一樣,前者8字節,后者4字節,也就是前者保存的小數位數比后者多一倍。舉例說明對于1.9999996666,按照float輸出,結果可能為1.999999,如果按照double可能為1.999999,這是為什么,因為C語言默認輸出小數位數都取6位,這時候看起來沒有區別,但是如果你進行格式控制,比如使用%.10,即小數保留10位,float輸出結果為1.9999990000,而double輸出結果則為1.9999996666。
舉報
C語言入門視頻教程,帶你進入編程世界的必修課-C語言
2 回答為什么float和double的位數一樣的?
2 回答本題中float和double的小數位數為什么一樣?
3 回答%f和%lf區別 還有float和double怎么小數位數都一樣啊
2 回答float默認小數點后六位,所以輸出97.000000,但是double為啥輸出也是97.000000
2 回答float 和 double
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2019-11-02
找到了,百度上的
double與float的區別在于在內存中存放數據時占用的內存不一樣,前者8字節,后者4字節,也就是前者保存的小數位數比后者多一倍。舉例說明對于1.9999996666,按照float輸出,結果可能為1.999999,如果按照double可能為1.999999,這是為什么,因為C語言默認輸出小數位數都取6位,這時候看起來沒有區別,但是如果你進行格式控制,比如使用%.10,即小數保留10位,float輸出結果為1.9999990000,而double輸出結果則為1.9999996666。