[問題] 浮點數的殘值

看板C_and_CPP作者 (把握當下)時間16年前 (2009/11/12 15:08), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串1/3 (看更多)
遇到的問題:float與double在位數上的不同 #include <stdio.h> int main() { float num1=123.456789012345; double num2=123.456789012345; printf("num1=%16.12f\n",num1); printf("num2=%16.12f",num2); return 0; } 程式跑出來的結果:num1=123.456787109375 num2=123.456789012345 開發平台:codeblock float只能容納4個位元組 所以是8個位數的精度 但為何num1=123.456787109375從第8位之後的數字會是這麼不規律呢? 書上說是記憶體的殘值 但這個殘值是怎麼出來的呢? 謝謝~ -- 這個問題感覺很沒水準 但我真的想好久都不知道原因... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.227.128.107 ※ 編輯: TIME1987 來自: 61.227.128.107 (11/12 15:24)

11/12 15:43, , 1F
書騙你
11/12 15:43, 1F
文章代碼(AID): #1A-xHUzX (C_and_CPP)
文章代碼(AID): #1A-xHUzX (C_and_CPP)