我是靠谱客的博主 悲凉唇彩,这篇文章主要介绍matlab实现0~1之间小数的十进制与二进制的转换,现在分享给大家,希望可以做个参考。

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之间小数内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(153)

评论列表共有 0 条评论

立即
投稿
返回
顶部