1
上次你一直很好,我希望你也可以給我一些建議。在matlab中讀取半精度浮點數(float16 IEEE 754r)的二進制數據
我用bit16(格式= bitn)讀取一個二進制文件到matlab中,我得到一個1和0的字符串。
bin = '1,00011,1111111111'
(16比特:1.標誌,2-6指數,7-16尾數)
根據ftp://www.fox-toolkit.org/pub/fasthalffloatconversion.pdf它可以被轉換象
out = (-1)^bin(1) * 2^(bin(2:6)-15) * 1.bin(7:16)
[是指數和尾數仍然二進制? ]
有人可以幫我解決問題,請告訴我如何處理pdf中提到的'eeeee'和'1.mmmmmmmmmm'。
非常感謝!
邁克爾
看到這一點:http://www.mathworks.com/matlabcentral/newsreader/view_thread/157099 – slayton
@slayton:感謝您的鏈接。我之前得到了這個文件,但是我對這個bitand和(2139095040)的'2139095040'來自哪裏?同一問題在下面的一些行。 – Michael
@Michael:2139095040是二進制的'0b1111111100000000000000000000000',所以如果你做'bitand(bin,2139095040)/ 2^23',你會得到'bin(31.24)'的值。 – Mehrwolf