gpt4 book ai didi

MATLAB 将大端顺序字节转换为浮点值

转载 作者:太空宇宙 更新时间:2023-11-03 20:21:19 31 4
gpt4 key购买 nike

我将以下字节存储在一个向量中:

data = [189    33   136   147]

这 4 个字节代表 Big-endian 顺序中的单个 float 。我怎样才能在 MATLAB 中得到这个数字?

我需要连接和转换。我试过:

x = typecast(str2num(sprintf('%d%d%d%d',data(1),data(2),data(3),data(4))), 'single')

无济于事(我得到了 x = [])。

最佳答案

很好的例子here :

>> dataL = typecast(uint8([189, 33, 136, 147]), 'uint32')
dataL =
2475172285
>> dataF = double(dataL)
dataF =
2.4752e+09

从大到小,试试swapbytes

>> dataLbig = swapbytes(dataL)
dataLbig =
3173091475
>> dataFbig = double(dataLbig)
dataFbig =
3.1731e+09

这就是您所期待的吗?

关于MATLAB 将大端顺序字节转换为浮点值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20535028/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com