How to convert an array of bytes to IEEE 754 single-precision float?
31 次查看(过去 30 天)
显示 更早的评论
I'm using Matlab R2007b.
I have an array
[65 227 216 168]
which represents the hexadecimal digits
0x41E3D8A8
that I'd like to interpret as a single-precision IEEE 754 float. The value that float takes on should be approximately 28.4808.
I'm able to use several online calculators to convert 0x41E3D8A8 to ~28.4808 but I can't seem to get that value in Matlab, starting from the array representation of that Hex value. I tried:
single(typecast(uint8([65 227 216 168]), 'uint32')) % Returns 2.8328e+009
0 个评论
采纳的回答
James Tursa
2019-4-1
Try this:
>> swapbytes(typecast(uint8([65 227 216 168]),'single'))
ans =
single
28.4808
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Numeric Types 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!