How to convert an array of bytes to IEEE 754 single-precision float?

30 ビュー (過去 30 日間)
Minh Tran
Minh Tran 2019 年 4 月 1 日
コメント済み: Minh Tran 2019 年 4 月 1 日
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

採用された回答

James Tursa
James Tursa 2019 年 4 月 1 日
Try this:
>> swapbytes(typecast(uint8([65 227 216 168]),'single'))
ans =
single
28.4808

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeNumeric Types についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by