Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ Double型(倍精度数値) | 数値データ型
C++データ型
セクション 2.  5
single

single

bookDouble型(倍精度数値)

メニューを表示するにはスワイプしてください

float(7 桁の10進精度)では精度が十分でない場合があります。しかし、C++ には解決策があります:double。15 桁の10進精度を持ち、float よりもはるかに高精度です。double の使用方法はこれまでと同じ構文です。

double.

double.

copy
1
double num = 3.14159265359;

デフォルトでは、cout は浮動小数点数を有効数字6桁で表示します。そのため、floatdouble の違いは表示されません。より大きな精度を設定するには、再び std::cout << std::setprecision(15); を使用できます(これで有効数字15桁に設定されます)。

<iomanip> を使用するために std::setprecision() をインクルードすることを忘れないでください。

main.cpp

main.cpp

copy
123456789101112131415
#include <iostream> #include <iomanip> int main() { float pi_float = 3.14159265358979; double pi_double = 3.14159265358979; std::cout << "float pi: " << pi_float << std::endl; std::cout << "double pi: " << pi_double << std::endl; std::cout << std::setprecision(15); std::cout << "float pi with setprecision: " << pi_float << std::endl; std::cout << "double pi with setprecision: " << pi_double << std::endl; }

doubleでより高い精度が実現される仕組み

より多くのメモリを使用することによるもの。float型は4バイト、double型は8バイトのメモリを消費。

long double型も存在。サイズは8バイト(doubleと同じ)から16バイトまで幅がある。システム上でlong doubleのサイズを確認するには、次のコードを使用。

sizeof.h

sizeof.h

copy
1
std::cout << sizeof(long double);

さらに、値を代入する際には L を追加する必要があります(そうしないと、その値は double の精度で代入されます)。次の例を参照してください。

double.h

double.h

copy
1
long double pi = 3.141592653589793238462643L;
Note
注意

出力にゼロが表示された場合は、上記のように値を正確に代入しているか確認してください(1/3., 1/3.L)。

タスク

スワイプしてコーディングを開始

異なるデータ型を用いて (1/3)² を計算する必要があります。そのために、floatdoublelong double 型の変数に 1/3 の値を代入します。次に、それぞれの変数の値を自乗した結果を出力します。

  1. float 型の変数に 1/3. の値を代入。
  2. double 型の変数に 1/3. の値を代入。
  3. long double 型の変数に 1/3.L の値を代入。
    注意: long double は本システム上で 16 バイトのメモリを使用します
  4. 出力の精度を setprecision(25) で小数点以下 25 桁に設定。
  5. それぞれの値を自乗した結果を出力。

解答

Switch to desktop実践的な練習のためにデスクトップに切り替える下記のオプションのいずれかを利用して、現在の場所から続行する
すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 2.  5
single

single

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

some-alt