十进制转成二进制
实例十五:十进制转成二进制
方法一: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;
};
 
                    
                
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号