PowerShell で 32bit IEEE754 形式の浮動小数点数を変換する

素のWindowsだけでスクリプトを書く

先日、Windows10をインストールした直後のPCだけを使って簡単なスクリプトを書く必要に迫られました。

32bit IEEE754形式の浮動小数点数を人間が読める形式に変換したかっただけなのですが悩んでしまいました。ネットが使えたりすればいいのですがNG、EXCELもダメ、C#なんかの開発環境もなし。仕方がないのでPowerShellを使うことにしましたが、その時に調べたことをメモしておきます。

PowerShellでIEEE754形式の浮動小数点数を扱う

私はIEEE754形式の浮動小数点数を human readable に変換したかっただけなので、こんなPowerShellスクリプトで事足りました。

# 変換したいIEEE754形式の浮動小数点数
$src = 0x41458794

# IEEE754形式の32bit浮動小数点数を変換する
$bits = [System.BitConverter]::GetBytes( $src )
$value = [System.BitConverter]::ToSingle( $bits, 0 )

# 結果を表示する
Write-Output $value

逆がやりたいのであれば、こんな感じでできますね。

# 変換したい浮動小数点数
$src = [Single]123.456

# IEEE754形式の32bit浮動小数点数に変換する
$bits = [System.BitConverter]::GetBytes( $src )
$value = [System.BitConverter]::ToInt32( $bits, 0 )

# 結果を表示する
Write-Output $value.ToString( "X4" )

シェアする

  • このエントリーをはてなブックマークに追加

フォローする