clear;clc
enco=0.125;%例如十进制小数0.125——二进制001
%十进制转二进制 :先将小数乘以2得到的积的整数部分取出;用小数乘以2得到的小数减去取出的整数部分得到新的小数,将用新的小数乘2得到的积的整数部分取出;用新的小数乘以2得到的小数减去取出的整数部分又得到新的小数;重复上述过程,直到积中的小数部分为零(也就是T=0)停止。把取出的整数部分按先后顺序排列起来得到二进制
i=1;
S=fix(enco*2);
T=enco*2-S;
a(i)=S;
while T~=0
i=i+1;
enco=T;
S=fix(enco*2);
T=enco*2-S;
a(i)=S;
end
n=i;
S=a(1:1:n)
%二进制转十进制
j=1;
E=S(j);
H=E*(2^-j);
DD=length(S);
while j<DD
j=j+1;
E=S(j);
H=H+E*(2^-j); %根据转化的二进制001,从最左端j=1(j=1,2,3)开始,每一位乘以2^-j再相加
end
最后
以上就是悲凉唇彩最近收集整理的关于matlab实现0~1之间小数的十进制与二进制的转换的全部内容,更多相关matlab实现0~1之间小数内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复