Скажем, у меня есть следующий одинарной точностью с плавающей точкой в Matlabодинарной точности с плавающей точкой, чтобы массив байтов в MATLAB
a = single(-2.345)
Я хотел бы представить число в виде массива из 4 байтов, после IEEE 754. правильное представление должно быть
b = [123, 20, 22, 192]
в настоящее время я использую fread
и fwrite
сделать преобразование, как в
fid = fopen('test.dat','wb')
fwrite(fid,a,'float')
fclose(fid)
fid = fopen('test.dat','rb');
b = fread(fid)'
, который достаточно хорошо, но я подозреваю, что есть намного более простой и быстрый способ сделать преобразование без чтения/записи из файла.
Было несколько сообщений о преобразовании массива байтов в поплавок (например, here), но я не уверен, как перейти в противоположную сторону. Какие-либо предложения?
Удивительно, я полагал, что у ML будет простая команда для этого. Спасибо! – adammgannon