概述
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之间小数的十进制与二进制的转换所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复