matlab十进制转二进制补码函数
函数代码
读者可根据需求对函数进行更改。
%%十进制整数转二进制反码
function Bin = dTobin(N,M)%N表示位数,M表示十进制数,
if (M >= 0)
Bin = dec2bin(M, N); % 正数的反码和补码都和原码一样
else
Bin = dec2bin(2^N + M, N);
end
end
函数应用如下
实例演示
本实例将十进制信号数字转换成16位二进制信号数字,并写入文本文档中。
clc
Fs = 50;
N = 1000;
n = 1:N;
y = 100*sin(2*pi*(n/Fs));
y = round(y);
fid = fopen('sin_singal.txt','w');
formatSpec = '%s\n'; % %s字符向量或字符串数组
for i = 1:N
fprintf(fid,formatSpec,dTobin(16,y(i)));
end
fclose(fid);
查看文本可见写入成功。