matlab十进制转二进制补码函数

matlab十进制转二进制补码函数

函数代码

读者可根据需求对函数进行更改。

%%十进制整数转二进制反码
function Bin = dTobin(N,M)%N表示位数,M表示十进制数,
   
        if (M >= 0)
        	Bin = dec2bin(M, N);        % 正数的反码和补码都和原码一样
        else
            Bin = dec2bin(2^N + M, N);
        end

end

函数应用如下
matlab十进制转二进制补码函数_第1张图片

实例演示

本实例将十进制信号数字转换成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);

查看文本可见写入成功。
matlab十进制转二进制补码函数_第2张图片

你可能感兴趣的:(知识小店,matlab,数字信号处理,补码)