我是靠谱客的博主 悲凉唇彩,最近开发中收集的这篇文章主要介绍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之间小数的十进制与二进制的转换所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部