二进制到十进制的转换,字符串处理

1.            二进制到十进制的转换,字符串处理

/*二进制数转换为十进制数*/

#include

main()

{

char ch;

int sum1=0,count=1,num;

double sum2=0,a,i;

printf("请输入二进制字符序列,以#结束:\n");

scanf("%c",&ch);

num=ch-'0';

while(num!='.'-'0'&&num!='#'-'0')         //小数点之前的转换;

{

if(num==1&&count==1)

{

sum1=1;

count++;

}

else if(num==0&&count>=2)

{

sum1=sum1*2;

count++;

}

else if(num==1&&count>=2)

{

sum1=sum1*2+1;

count++;

}

scanf("%c",&ch);

num=ch-'0';

}

a=2;

while(num!='#'-'0')                      //小数点之后的转换;

{

if(num==0||num==1)

{

i=num/a;

sum2=sum2+i;

a=a*2;

}

scanf("%c",&ch);

num=ch-'0';

}

if(sum2==0)

printf("\n该二进制数对应的十进制数是:%d\n",sum1);

else

printf("\n该二进制数对应的十进制数是:%f\n\n",sum1+sum2);

return(0);

}

运行结果如图:

1.            二进制到十进制的转换,字符串处理

/*二进制数转换为十进制数*/

#include

main()

{

char ch;

int sum1=0,count=1,num;

double sum2=0,a,i;

printf("请输入二进制字符序列,以#结束:\n");

scanf("%c",&ch);

num=ch-'0';

while(num!='.'-'0'&&num!='#'-'0')         //小数点之前的转换;

{

if(num==1&&count==1)

{

sum1=1;

count++;

}

else if(num==0&&count>=2)

{

sum1=sum1*2;

count++;

}

else if(num==1&&count>=2)

{

sum1=sum1*2+1;

count++;

}

scanf("%c",&ch);

num=ch-'0';

}

a=2;

while(num!='#'-'0')                      //小数点之后的转换;

{

if(num==0||num==1)

{

i=num/a;

sum2=sum2+i;

a=a*2;

}

scanf("%c",&ch);

num=ch-'0';

}

if(sum2==0)

printf("\n该二进制数对应的十进制数是:%d\n",sum1);

else

printf("\n该二进制数对应的十进制数是:%f\n\n",sum1+sum2);

return(0);

}

运行结果如图:


相关内容

  • 信息技术学考知识点
  • 第一单元 信息与信息技术 一.信息 1.信息是指数据.消息.信号中包含的意义 2.载体是指承载信息的事物 3.信息是抽象的,载体是具体的 4.信息的特征:载体依附性.时效性.真伪性.传递共享性.可处理加工性(可增值性) 二.信息的编码 1.计算机处理.存储所采用的是二进制编码,计算机能够直接识别和处 ...

  • 数制与编码
  • 第1章 数制与编码 学习目标: 本章主要介绍了计算机中关于数的表示方法.几种常用数制的转换.机器数的表示方法和常用编码等内容.使学生通过对数的基础知识的学习,可以为后续单片机原理的学习打下基础. 知识点: 1.二进制.十六进制.十进制表达形式及其相互转换: 2.机器数中关于有符号数的原码.反码.补码 ...

  • 计算机中数据的表示和计算
  • 第1章 计算机系统基础 1.1 计算机中数据的表示和计算 1.1.1 目标与要求 通过本节学习掌握如下内容: ∙ 掌握计算机中的常用数制,掌握十进制.二进制.八进制和十六进制之间相互转换的方法. ∙ 理解数据的机内表示方法,掌握原码.反码.补码.移码等码制及其特点. ∙ 掌握基本的算术和逻辑运算. ...

  • 四川省计算机一级_计算机基础知识_题库
  • 第一章 计算机基础知识 一.判断正误题 1.第二计算机的主存采用了磁芯存储器. 2.第一代计算机的主存采用了磁鼓. 3.计算机辅助设计是人工智能的应用领域之一. 4.CAT 指的是计算机辅助教学. 5.汇编语言和机器指令是一一对应的. 6.CAD 指的是计算机辅助测试 7.计算机辅助测试是人工智能的 ...

  • 计算机数制与编码(下篇)
  • 2013-07-02 10:17:16|  分类:编码解码 |  标签:计算机  数制  编码  教程   |举报 |字号 订阅 四.带符号数的表示方式 1.无符号二进制数 无符号二进制数使用所有位来表示数值,但是只能表示正数.不能表示负数. 2.机器数与真值 在计算机中,数的符号也采用二进制位来表 ...

  • 江苏省计算机二级资料整理大全
  • 江苏省计算机二级资料整理大全(主页菌花了好多金币在百度文库下的) 第一部分 计算机基础知识部分 一.计算机基础 1 信息技术的基本概念和发展 2 计算机硬件基础知识 3 数字媒体基本知识 4 计算机软件基础知识 5 计算机网络基础知识 6 计算机与数据库基础知识 7 PC机操作使用的基本技能 要求: ...

  • 选择题素材
  • 2010年1月份选择题重点辅导题材 1.计算机之所以能按人们的意志自动进行工作,最直接的原因是因为采用了( C ) A) 二进制数制 B)高速电子原件 C)存储程度控制 D)程序设计语言 2.微机计算机主机的主要组成部分是( B ) A)运算器和控制器 B)CPU和内存储器 C)CPU和硬盘存储器 ...

  • 深入理解计算机系统--信息的存储和表示
  • 1.信息的存储 什么是信息?信息是客观事物属性的反映,是经过加工处理并对人类客观行为产生影响的数据表现形式. 那么我们这里也要提一下什么是数据,数据是反应客观事物属性的记录,是信息的具体表现形式.任何事物的属性都是通过数据来表示的,数据经过加工处理后成为信息,而信息必须通过数据才能传播,才能对人类产 ...

  • 计算机[数制与编码-进制转换]公开课教案
  • 课时安排:一课时 教学方法:讲授法 教学目的:1.熟悉数制的概念:2.掌握位权表示法: 3.掌握各数制之间的转换方法. 教学重点:进制.基数.位权的概念 教学难点:二进制-十进制间相互转换 教学过程: 一.师生问好,考勤 二.复习旧识,导入新课 通过学习计算机系统组成,我们已经知道,人与计算机进行信 ...