Re: [問題] 關於數值輸出及double宣告的問題
※ 引述《Mercury0625 (水星)》之銘言:
: 抱歉又是一個新手的問題......
: 關於double宣告變數,課本說有效位數15位,是代表整數+小數點+小數位共15位?
: 還是有包含指數部分?
1.2345E+15
上面是 五位
: 以下為簡單程式碼(省略開頭)
: double a = 1.23456789e+308;
: cout<<b;
: 結果是1.23457e+308
printf("%.22lE \n", a);
試試看 上面的指令
: 為什麼會四捨五入了?如果宣告是float我還能理解........
printf(); 比較好用
: 再來下一個程式碼
: double a = 1.234567;
: cout<<"12345678901234567890"<<endl;
: cout.precision(8);
: cout<<a<<endl;
: cout.width(20);
: cout.setf(ios::scirntific,ios::floatield);
: cout<<a<<endl;
: 結果
: 12345678901234567890
: 1.234567
: 1.23456700e+000
: 後面那個00怎出來的呢@@?依照上一個程式碼,後面有四捨五入但這個沒有
如果你指定 LE, 就會跑出 1.2345E00
: 跟ios::scirntific,ios::floatield有關係嗎?想很久不懂
: 上學期計概太混,結果這個看不懂 .....
請你重新 翻書,關於 整數,浮點數的 二進位表示方法,
2's 補數的 表示方法
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 223.138.70.247
→
03/24 17:02, , 1F
03/24 17:02, 1F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章