実数

<プレ> 浮動小数点数 r = 5.0 5.0 値は、小数として表される数値です (整数と小数部分があります)。コンピュータサイエンスではこのような数値を実数と呼び
ます。  
実数とは、整数部分と小数部分を持つ数値です。整数部分と小数部分は、数学の場合のようにカンマではなく、ドットで区切られます。

例の r 変数のように、数値の小数部がゼロに等しい場合でも、コンパイラはメモリ内に実数変数を作成します。この点は、いわば、実際の変数を作成する必要があるという翻訳者への信号です。

非常に大きな数値と非常に小さな数値は「浮動小数点」を使用して書き込まれます。 (いわゆる科学形式)。  
科学的形式では、数値は 仮数 (数値の有効部分) と 指数 として表されます。仮数と指数は、文字 e (10 をある程度表す) で区切って記述します。
たとえば、電子の電荷の値を変数に保存できます。
\(1,60217662 \times 10^{-19}\) Kl)、  と書きます。 <プレ> 浮動小数点El= 1.60217662e-19 // 正の順序の場合、+ 記号は省略できます。
実数の保存には限られた数のビットが割り当てられるため、ほとんどすべての実数を完全な精度でコンピュータ メモリに保存することはできません。したがって、実数を使用して計算すると、表現の不正確さに関連する誤差が蓄積します。さらに、割り当てられるスペースが少ないほど、この誤差は大きくなります。 C++ でのエラーを減らすために、double 型が使用されます。これは倍精度の実数をメモリに格納します (メモリ内で 8 バイトを占有します)。一方、float 型は- 4バイト)。

入力

入力ストリームからいくつかの実数変数を入力し、それらを標準的な方法で変数に書き込むことができます。 x、yをフロートします。 シン>> ×>> y; 最初の数字は x 変数に入り、2 番目の数字は y に入ります。



結論

実数を表示する場合、デフォルトで 6 桁が表示され、科学形式または固定小数点が自動的に選択されます。
出力形式はカスタマイズ可能です。このために、出力を制御するマニピュレータという追加のライブラリiomanipが使用されます。
固定小数点形式の出力の場合、 fixed マニピュレータが使用され、科学形式 - scientific の場合です。次に、 setprecision() マニピュレータを使用して、小数部の桁数を決定する必要があります。  setw() マニピュレータを使用すると、数値出力に割り当てられた位置の総数。

 
フロート x = 1.0/6; cout <<固定 << setprecision(9); // 小数部9桁表示に設定 cout << setw(12) <<バツ;
画面が表示されます <プレ> _0.166666672
すべてのコマンドは 1 行で記述できます。 <プレ> cout <<固定 << setprecision(9) << setw(12) << x;

実数を使った演算。 cmath

モジュール 実数を扱う場合は、すでによく知られている math モジュールを使用できます。このモジュールには、多数の組み込み関数が含まれています。
問題を解決するとき、多くの場合、実数を最も近い整数値に四捨五入する必要があります。これには 2 つの関数があります。

覚えておく必要があります!
1. 明示的な型変換 ( float x=1.5; int y = int(x)) を使用します  - 実数の小数部は切り捨てられます (y = 1); 
2. 関数 floor(x)x 以下の最大の整数を返します(切り捨て)。
3. 関数 ceil(x)x 以上の最小の整数を返します(切り上げ)。

cmath モジュールに含まれる最も便利な関数を次に示します。 <本体> 丸め 根、対数

関数 説明
round(x)
C++11
数値を最も近い整数に丸めます。数値の小数部分が 0.5 の場合、数値は最も近い整数に丸められます。
trunc(x)
C++11
小数部分を切り捨てます
フロア(x) 数値を切り捨てます (「floor」)。つまり、 floor(1.5) == 1、 floor(-1.5) ==  ; -2
ceil(x) 数値を切り上げ (「天井」)、 ceil(1.5) == 2、 ceil(-1.5) ==  ; -1
abs(x) モジュロ (絶対値)。
fabs(x) モジュロ実数
sqrt(x) 平方根。使用法: y = sqrt(x)
pow(x, y) x の y 乗を計算します。\(x^y\)
log(x) 自然対数。
exp(x) 自然対数の底 e = 2.71828...
三角法
sin(x) ラジアンで指定された角度の正弦
cos(x) ラジアンで指定された角度のコサイン
tan(x) ラジアンで指定された角度の正接
asin(x) 逆正弦、ラジアンで値を返します
acos(x) 逆余弦、ラジアン単位で値を返します
atan(x) 逆正接、ラジアンで値を返します
atan2(y, x) (x, y) 点の極角 (ラジアン単位)。