clear
A=[1 2 3 7; 4 5 6 8 ; 7 8 9 9];
B=(boolean(dec2bin(A,8)-'0'));
[row_b,col_b]=size(B);
[row_a,col_a]=size(A);
%%方案一,通过dec2bin命令,简单方便,但是若位数太多则会损失精度。
%%AA为转换结果
AA = dec2bin(A(:,1)*(256^3)+A(:,2)*(256^2)+A(:,3)*256+A(:,4),32);
AA = boolean(AA-'0');
%bin2dec(AA(1,1:8)) 可以通过这个方式将字符转换为数据
%%方案二,通过dec2bin和循环方式,效率较低但是位数不受限
%%BB为转换结果
for i=1:row_a
x=0;
for j=1:col_a
BB(i,(j-1)*col_b+1:col_b*j)=B(i+x*row_a,:);
x=x+1;
end
end
%%方案三 速度最快
aaaa= dec2bin(data); %将十进制数据转为字符
AA = boolean(aaaa-'0'); %将字符转成逻辑量
AA = double(AA); %强制转为double型
matlab中将十进制矩阵转换为二进制的方式
最新推荐文章于 2021-10-06 10:37:48 发布