アフィリエイト広告を利用しています

広告

posted by fanblog

2017年09月15日

《その28》 操作子 setprecision


  p.158 に、つぎのような記述があります。
『setprecision操作子は、《精度》を指定します。なお、ここでの《精度》は、出力記法などによって解釈が異なります。固定小数点記法による出力における《精度》は、小数部の桁数とみなされます。』


このことについて、いちおう確認してみました。

◆ 浮動小数点数を 固定小数点記法で出力

#include <iomanip>
#include <iostream>
using namespace std;

int main()
{
float a = 12.3456789012345;
double b = 12.3456789012345;

cout << fixed << setprecision(10) << "a … " << a << '\n';
cout << "b … " << b << '\n';
}

b04_-1.png

fixed操作子 + setprecision(10)操作子 の指示で、確かに小数部桁数は 10になっています。



◆ 浮動小数点数を 指数付き記法で出力

#include <iomanip>
#include <iostream>
using namespace std;

int main()
{
float a = 12.3456789012345;
double b = 12.3456789012345;

cout << scientific << setprecision(10) << "a … " << a << '\n';
cout << "b … " << b << '\n';
}

b04_-2.png

scientific操作子 + setprecision(10)操作子 で指示した場合も、小数部桁数は 10になっています。



◆ 浮動小数点数を setprecision操作子を使わずに 固定小数点記法で出力

#include <iomanip>
#include <iostream>
using namespace std;

int main()
{
float a = 12.3456789012345;
double b = 12.3456789012345;

cout << fixed/* << setprecision(10)*/ << "a … " << a << '\n';
cout << "b … " << b << '\n';
}

b04_-3.png

setprecision(10)操作子を使わず fixed操作子のみの出力では、小数部桁数が 6になります。



◆ 浮動小数点数を fixed操作子も scientific操作子も使わず setprecision操作子だけを使って出力

#include <iomanip>
#include <iostream>
using namespace std;

int main()
{
float a = 12.3456789012345;
double b = 12.3456789012345;

cout/* << fixed*/ << setprecision(10) << "a … " << a << '\n';
cout << "b … " << b << '\n';
}

b04_-4.png

setprecision操作子のみの場合は、出力結果をみると 小数部桁数が安定していません。


新版 明解C 入門編 (明解シリーズ)

新品価格
¥2,916から
(2017/8/30 21:02時点)









--
この記事へのコメント
コメントを書く

お名前:

メールアドレス:


ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバックURL
https://fanblogs.jp/tb/6704779
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック

 たまに、クリック お願いします m(_ _)m

 AA にほんブログ村 IT技術ブログ C/C++へ

こうすけ:メール kousuke_cpp@outlook.jp

【1】★★C++ 記事目次★★ ← 利用可能です。
・新版明解C++入門編 / 新版明解C++中級編
・その他 C++ 関連記事

【2】★★こうすけ@C#★★
・C# の初歩的な記事


検索
<< 2018年08月 >>
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
プロフィール
こうすけさんの画像
こうすけ

 たまに、クリック お願いします m(_ _)m

 AA にほんブログ村 IT技術ブログ C/C++へ

こうすけ:メール kousuke_cpp@outlook.jp

【1】★★C++ 記事目次★★ ← 利用可能です。
・新版明解C++入門編 / 新版明解C++中級編
・その他 C++ 関連記事

【2】★★こうすけ@C#★★
・C# の初歩的な記事


×

この広告は30日以上新しい記事の更新がないブログに表示されております。