zoukankan      html  css  js  c++  java
  • 二进制和十进制的相互转换

    整数转换为二进制输出
    #include <stdio.h>
    #include <string.h>

    int main(int argc, char *argv[])
    {
       char bin[8 * sizeof(int)];
       int n = 0;
       int index;

       scanf("%d", &n);
     
      for(index = (8 * sizeof(int) - 1); index >= 0; index--)
       {
         bin[index] = (n & 1) + '0';
         n >>= 1;
     
       }
       bin[8 * sizeof(int)] = '';
       int i = 0;
       for(index = 0; index <= (8 * sizeof(int) - 1); index++)
       {
         // int i;
         ++i;
         putchar(bin[index]);
         if(i % 4 == 0)
        {
           putchar(' ');
         }
       }
       putchar(' ');
     
       return 0;
     }

    二进制数,转换为对应的十进制

    #include <stdio.h>
    #include <string.h>

    int integer(const char *str);

    int main(int argc, char *argv[])
    {
      char *pbin = "01001001";
      int inter = 0;

      inter = integer(pbin);

      return 0;
    }

     int integer(const char *str)
     {
      int i, j, index;
      int count = 0;
      int in[strlen(str)];//定义一个数组来存储二进制每个位对应的数字

      for(i = 0; i < (strlen(str)); i++)//strlen(str),计算字符个数,结果为8而不是9
       {
        int sum = 1;//每一次循环都要将sum的值重新设置为1
        for(j = (strlen(str) - 1 - i); j > 0; j--)//j为对应的位所要计算的阶乘,从右往左数
         {
          sum *= ((str[i] - '0') * 2);//str[i] - '0',表示将字符转换为数字,str[i] + '0',表示将数字转化为字符
         }

        count += sum;//count保存每次小循环得到的sum值
       }
       printf("%d ", count);
       return count;
    }

  • 相关阅读:
    java内部类
    unityUI拖拽
    Java泛型
    java集合
    python爬取糗百段子
    python读取文件并保存到mysql数据库
    BeanShell Sampler 身份证号-jmeter
    python操作数据库
    创建身份证号
    随机生成四要素
  • 原文地址:https://www.cnblogs.com/timemachine213/p/8325473.html
Copyright © 2011-2022 走看看