zoukankan      html  css  js  c++  java
  • 二进制转换为十进制

     

      

    算法思想:把用户的二进制数(1011)当作十进制进行处理,分别拆开成1    0    1     1四个数,然后用

    2*(2*((1*2)+0)+1)+1 = 11 得出十进制的值为11

    模块设计:

    1. 除10取余函数:1011通过%10(除10取余),可得到1   1   0    1(逆序)
    2. 计算十进制:循环处

    程序代码:

    #include <stdio.h>
     #include <stdlib.h>
     
     int main(int argc, char *argv[]) {
         while(1)
         {
             printf("enter num:");
             int a;
             scanf("%d",&a);
             int b[20];
             int i=0;
             while(a)//二进制数拆分 
             {
                 b[i]=a%10;
                 a=a/10;
                 i++;    
             }
             int j;
             for(j=0;j<i;j++)//输出拆分结果,是否符合预期(逆序) 
             {
                 printf("%d\n",b[j]);
                 if(b[j]!=0&&b[j]!=1)
                 {
                     printf("error\n");
                     return 0;
                 }
             }
             int c=0;
             int k;
             for(k=i-1;k>=0;k--)//计算十进制 
             {
                 if(k==0)
                     c=c+b[k];
                 else
                     c=(c+b[k])*2;
             }
             printf("c=%d\n",c);
         }
         return 0;
     }
  • 相关阅读:
    用户体验
    jsp ini 配置文件
    Highcharts 图表
    简单游戏服务器
    js 数据操作
    jquery 导航
    as3.0 删除子元件
    java float 保留二位小数
    局域网ip
    SWFUpload
  • 原文地址:https://www.cnblogs.com/ligongye/p/3114061.html
Copyright © 2011-2022 走看看