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

    实例十五:十进制转成二进制

    方法一:result = (n >> (31 - i)) & 1
    原数依次从高位到低位,和数值'1'进行与操作,并不断输出结果。

    方法二:result=a & (1 << i)

    依次把数值‘1’从低位到高位,和原数进行与操作,并不断输出结果

    解释:

    十进制数值在计算机中还是以二进制存储,要做的就是依次把存在内存的二进制显示出来。


    原数      0000 1000 ---8
    数值1        0000 0001 ---1
    把原数的二进制数字一位一位地和1与。


    代码:
    int _tmain(int argc, _TCHAR* argv[])
    {
      int a, b;
      cout<<"请输入要转换的数值:";
      cin >> a;
      //循环从高位开始移位
      for (int i = 0; i < 32; ++i)
      {
        //31-i 代表移动的位数多少
        b = (a >> (31 - i)) &1;    //&1代表求当前最低位置的数据
        cout << b;
      }

      system("pause");
      return 0;
    };

    或者

    int _tmain(int argc, _TCHAR* argv[])
    {
      int a, b;
      cout << "请输入要转换的数值:";
      cin >> a;
      //循环把1从低位移位
      for (int i = 31; i >=0; --i)
      {
        if (a &(1 << i))
          cout << "1";
        else
          cout << "0";
      }

      system("pause");
      return 0;
    };

  • 相关阅读:
    线程安全
    转 接口和抽象类 虚方法 有什么区别
    转 面向对象的三个基本特征
    转载 泛型
    遍历list,字典
    转 拉姆达表达式,委托、匿名方法、Lambda表达式的演进
    int byte转换
    委托,匿名方法
    带参数线程,不带参数线程
    const readonly
  • 原文地址:https://www.cnblogs.com/gd-luojialin/p/6636055.html
Copyright © 2011-2022 走看看