PowerShell,倍精度浮動小数点数の絶対値を取得する

スポンサーリンク

鍛錬 646

PowerShell,倍精度浮動小数点数の絶対値を取得する

倍精度浮動小数点数(Double型)の絶対値を取得するには、.NETオブジェクトにおける Math クラスのスタティックメソッド、Abs を使用します。
 
使用方法は、以下に示す通りです。

[Math]::Abs(数値)

引数

以下は、上記の引数についてです。

引数
数値 Double

戻り値

以下は、戻り値についてです。

戻り値
倍精度浮動小数点数の絶対値 Double
スポンサーリンク

スクリプト

以下は、倍精度浮動小数点数の絶対値を取得するスクリプト、abs_double.ps1 です。

今回は、\(1.797693 \times 10^{308}\) と \(-1.797693 \times 10^{308}\) の絶対値を取得しています。

\( \vert 1.797693 \times 10^{308} \vert \)
 
\( \vert -1.797693 \times 10^{308} \vert \)
取得する値
倍精度浮動小数点数の絶対値
# 変数初期化
[System.Double]$mantissa_num = 0
[System.Double]$radix_num = 0
[System.Double]$index_num = 0
[System.Double]$result = 0
[System.Double]$tmp = 0

echo "-------------------------------------------"

# 1.797693 * (10^308) を計算
$mantissa_num = 1.797693
$radix_num = 10
$index_num = 308
$tmp = $mantissa_num * ([Math]::Pow($radix_num, $index_num))
echo "    1.797693 * (10^308)  = $tmp"

# 1.797693 * (10^308) の絶対値を取得
$result = [Math]::Abs($tmp)
echo "Abs(1.797693 * (10^308)) = $result"

echo "-------------------------------------------"

# -1.797693 * (10^308) を計算
$mantissa_num = -1.797693
$radix_num = 10
$index_num = 308
$tmp = $mantissa_num * ([Math]::Pow($radix_num, $index_num))
echo "    -1.797693 * (10^308)  = $tmp"

# -1.797693 * (10^308) の絶対値を取得
$result = [Math]::Abs($tmp)
echo "Abs(-1.797693 * (10^308)) = $result"

echo "-------------------------------------------"
スポンサーリンク

実行結果

以下は、スクリプト abs_double.ps1 を実行しています。

PS D:\tmp>
PS D:\tmp> .\abs_double.ps1
-------------------------------------------
    1.797693 * (10^308)  = 1.797693E+308
Abs(1.797693 * (10^308)) = 1.797693E+308
-------------------------------------------
    -1.797693 * (10^308)  = -1.797693E+308
Abs(-1.797693 * (10^308)) = 1.797693E+308
-------------------------------------------

 
上記に示した通り、倍精度浮動小数点数の絶対値を取得することができました。

\( \vert 1.797693 \times 10^{308} \vert = 1.797693E+308\)
\( \vert -1.797693 \times 10^{308} \vert = 1.797693E+308 \)
タイトルとURLをコピーしました