deci_dec2bin_con.m

来自「十进制小数转化二进制小数(补码形式输出),对RAM或ROM设置初值极其方便」· M 代码 · 共 41 行

M
41
字号
function y=deci_dec2bin_con(x,m,n);
% x=-0.5;
% m=4;
% n=14;
x = -1*x;
%n 是二进制小数位的输出位数, 10进制小数转化二进制小数, 存在浮点到定点的转化
if(x>=1)
    y=floor(x);
    ybin=dec2bin(y);
    x=x-floor(x);
else
    ybin='0';
end
z=round(2^n*x);
zbin=dec2bin(z);
% [m1,n1]=size(z);
% deci=[repmat('0',1, n-n1), z];
% y=[y deci];
zdec = bin2dec(zbin);
zcon = 2^n-zdec;
zbin_con_temp = dec2bin(zcon);
[m1,n1] = size(zbin_con_temp);
zbin_con = [repmat('0',1, n-n1), zbin_con_temp];
if (z==0)
    ydec = bin2dec(ybin);
    ycon = 2^m - ydec;
    ybin_con = dec2bin(ycon);
    deci = repmat('0',1,n);
    if(ydec==0)
        dec = repmat('0',1,m);
        y = [dec deci];
    else
        y = [ybin_con deci];
    end
else
    ydec = bin2dec(ybin);
    ycon = 2^m - 1 - ydec;
    ybin_con = dec2bin(ycon);
    y = [ybin_con zbin_con];
end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?