下载此文档

任意二进制数转换为十进制数.doc


文档分类:通信/电子 | 页数:约2页 举报非法文档有奖
1/2
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/2 下载此文档
文档列表 文档介绍
任意二进制转十进制数
程序代码:
#include<>
#include<>
#include<>
long float change(char str[],int n)
{
int xsd,i;
for(i=0;i<n;i++)
{
if(str[i]=='.')
{
xsd=i+1;//xsd为小数点位置
break;
}
}
if(i==n)
xsd=n+1;
long float sum,zs=0,xs=0;
for(int j=xsd-2,q=0;j>=0;q++,j--)
{
if(str[j]=='1')
zs+=powf(2,q);
}
if(xsd!=n+1)
{
for(int k=xsd;k<n;k++)
{
int m=(xsd-k)-1;
if(str[k]=='1')
xs+=powf(2,m);
}
printf("二进制小数点在第 xsd=%d 位上!\n",xsd);
printf("十进制小数部分值为:xs=%lf\n",xs);
}
printf("十进制整数部分值为:zs=%lf\n",zs);
sum=zs+xs;
return sum;
}
void main()
{
while(1)
{
char str[30];
puts("\n请输入一个任意位数二进制数:");
gets(str);
int n=strlen(str);
printf("二进制带小数点(若有)总长为:n=%d 位\n",n);
long float sum=change(str,n);
printf("转换为十进制数为:sum=%lf\n",sum);
}
}
程序运行结果:

任意二进制数转换为十进制数 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数2
  • 收藏数0 收藏
  • 顶次数0
  • 上传人rjmy2261
  • 文件大小73 KB
  • 时间2018-06-25