Powershell - 十六进制到IEEE754单精度浮点

时间:2017-01-19 09:11:33

标签: powershell floating-point hex

我是Powershell的新手,我正在努力从十六进制到浮动的基本转换。

我想将0x46FEEBD0转换为浮点数32629.90625(IEEE754标准)。 我所有的尝试都给了我1191111632(或1,191112E + 09),这是0x46FEEBD0的十进制表示。

是否有一个简单的Powershell方法呢?

由于

1 个答案:

答案 0 :(得分:1)

是的,您可以使用documentation on the MQL4 website方法:

# 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指出我应该使用单身而非双人。