2

我想使用 Matlab 将 uint_32 数字的每个字节保存到 1x4 矩阵的元素中

a = zeros(1,4,'uint8');
val = uint32(2^32-1);

如何按字节拆分 val 并将每个元素插入数组中?

4

2 回答 2

2

您可以使用该typecast函数在不更改基础数据的情况下在数据类型之间进行转换:

a = typecast(uint32(2^32-1), 'uint8')
% produces the array [255 255 255 255]
于 2014-11-10T19:07:48.930 回答
1

据我所知,我认为您正在寻找这样的东西,其中最低有效字节作为输出向量中最右边的元素 -

bits = reshape(bitget(num,32:-1:1),8,[]); %// num is the input number
weights2 = 2.^([7:-1:0]);
out = weights2*bits
于 2014-11-10T19:06:39.590 回答