十进制转成二进制

Posted _拥你一生,如沐星辰_

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了十进制转成二进制相关的知识,希望对你有一定的参考价值。

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

方法一: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;
};

 

以上是关于十进制转成二进制的主要内容,如果未能解决你的问题,请参考以下文章

十进制的分数如何转成二进制的?

十进制转成二进制

Java 进制转换

十进制怎么转成BCD码

unity中如何把byte转成二进制

Java各进制之间的转换