[問題] 超出有效範圍的位數是怎麼決定的

看板C_and_CPP (C/C++)作者 (微涼的夜)時間16年前 (2010/04/08 16:56), 編輯推噓1(102)
留言3則, 2人參與, 最新討論串1/1
遇到的問題: C語言的書前面都會說明整數、浮點數...這些位元長不同所要注意的 譬如; float num1=123.456789012345F; /* 宣告num1為float,並設定初值 */ double num2=123.456789012345; /* 宣告num2為double,並設定初值 */ printf("num1=%16.12f\n",num1); /* 列印出浮點數num1的值 */ printf("num2=%16.12f\n",num2); /* 列印出倍精度浮點數num2的值 */ 執行結果: num1=123.456787109375 num2=123.456789012345 請問num1錯誤的那些位數,電腦是怎麼決定是哪些數字呀 很好奇 開發平台: Dev C++ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 192.192.86.148 ※ 編輯: tesla 來自: 192.192.86.148 (04/08 16:56)

04/08 17:03, , 1F
精華區: z->8->11, 把IEEE754表示法搞懂, 就知道那剩下
04/08 17:03, 1F

04/08 17:03, , 2F
的數是怎麼算出來的了:)
04/08 17:03, 2F

04/10 17:53, , 3F
感激
04/10 17:53, 3F
文章代碼(AID): #1BlPeXS_ (C_and_CPP)
文章代碼(AID): #1BlPeXS_ (C_and_CPP)