How to convert an array of bytes to IEEE 754 single-precision float?
30 ビュー (過去 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!