dectobin1.m

来自「用matlab实现ASCII和二进制码的互换」· M 代码 · 共 25 行

M
25
字号
function [num,numint,numf]=dectobin1(innum,N)
%十进制大于1的小数转换为二进制数
%输入为十进制数innum,以及小数部分的位数N
%输出为三个参数num,numint,numf
%num为输出的二进制形式
%numint为整数部分的二进制表达式
%numf为小数部分的二进制表达式
sep=5;%整数和小数部分的分隔符
if(mod(innum,1)==0)%判断输入是否为整数,mod为取余函数
    numint=dec2bin(innum);
    numint=double(numint)-48;
    numf=zeros(1,N);
    num=[numint,sep,numf];
    return
end;
%输入为非整数的情况
nint=floor(innum);%整数部分
nf=innum-nint;%小数部分
res_nint=dec2bin(nint);
res_nint=double(res_nint)-48;
res_nf=dectobin(nf,N);
numint=res_nint;
numf=res_nf;
num=[numint,sep,numf];

⌨️ 快捷键说明

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