看板 C_and_CPP 關於我們 聯絡資訊
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) dev-c++ 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): float f=788.9888; printf("%f",f); 想請教各位前輩,為什麼印出來會是788.988770 小數點有效位數是6位,請問後面的770是怎麼出來的呢? printf("%12f",f); 這邊會輸出「空白 空白788.988770」 好像和上面是一樣的問題,不知道770是怎麼出來的~ 餵入的資料(Input): 預期的正確結果(Expected Output): 錯誤結果(Wrong Output): 程式碼(Code):(請善用置底文網頁, 記得排版) 補充說明(Supplement): 以上謝謝各位前輩的指點 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 60.244.132.83
Arton0306:十三誡B11 05/31 18:05
loveme00835:printf("%s","788.988"); 這樣就不會不同了 05/31 18:52
purincess:樓上 XDD 05/31 18:58
stator:只是想知道浮點數有什麼規則可循嗎?如果今天換個78.123 05/31 19:42
stator:是否會有固定的答案? 05/31 19:42
purincess:置底十三誡B(11) 05/31 20:09
leiyan:宣告的時候就會有warning了吧 05/31 20:12
james732:去Google查一下 IEEE 754 是什麼吧 05/31 20:16
cobrasgo:2樓意義深遠原po要好好想一下為什麼啊 05/31 20:48
purincess:8 byte的字串(含\0)都可以存double了呢~ 05/31 20:50