Re: [問題] VC2008 這問題不知道該算什麼問題...

看板C_and_CPP作者 (此方不可長)時間15年前 (2010/08/05 23:03), 編輯推噓1(106)
留言7則, 4人參與, 最新討論串2/2 (看更多)
自問自答一下 跟朋友分析了很久以後 我推斷是C語言的特性是 float 的意義是 "只是保證你的精度" 整個系統預設還是以double或是long double運作 所以最後火大整個印出來就可以用了 printf ( "%10.30f \n", workA[0]); <= 印出 0.99996948242187500... if (float(workA[0]) == 0.999969482421875) <= true 但實際上超過 float 的部分都是垃圾... ---- 有錯誤請指正........ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.132.126.29

08/05 23:26, , 1F
浮點數預設是 double, 整數預設是 long, 遇到這種情況
08/05 23:26, 1F

08/05 23:27, , 2F
常數後面還是加上 f 之類的符號告訴編譯器你想怎麼做
08/05 23:27, 2F

08/05 23:27, , 3F
比較好。
08/05 23:27, 3F

08/05 23:28, , 4F
浮點數預設常數都是double(沒加f) 再看你要assign給float
08/05 23:28, 4F

08/05 23:28, , 5F
或double來決定他會不會截掉精度阿
08/05 23:28, 5F

08/05 23:29, , 6F
沒八卦,浮點常數預設就是 double。
08/05 23:29, 6F

08/06 00:08, , 7F
啊...請搭配上一篇服用
08/06 00:08, 7F
文章代碼(AID): #1CMjBOFi (C_and_CPP)
文章代碼(AID): #1CMjBOFi (C_and_CPP)