2017-01-19 21 views
2

私はPowershellで新しく、私は16進数から浮動小数点への基本的な変換に苦労しています。Powershell - IEEE754単精度浮動小数点の16進数

私は0x46FEEBD0を浮動小数点数32629.90625(IEEE754標準)に変換したいと思います。 私のすべての試みは、0x46FEEBD0の10進表現である1191111632(または1,191112E + 09)を私に与えました。

シンプルなPowershellの方法はありますか?

おかげ

答えて

1

はい、あなたはBitConverter.ToSingle()メソッドを使用することができます

# Get the byte representation (produces D0, EB, FE, 46) 
$bytes = [BitConverter]::GetBytes([single]32629.90625) 
$bytes | Foreach-Object { ("{0:X2}" -f $_) } 

# Convert the $bytes back to a float (produces 32629.91) 
[BitConverter]::ToSingle($bytes, 0) 

編集:私は単一ではなく、二重使用する必要があることを指摘しLotPingsに感謝を。

+1

32629.90625 – LotPings

+0

の前に '[single]'を入れて '($ bytes [$ Bytes.Length..0] | Foreach-Object {(" {0:X2} "-f $ _ })-join( "") ' – LotPings

+0

ありがとう、私はそれを得た。 – Seb

関連する問題