template.cpp

来自「十进制转换为二进制的3种实现方法」· C++ 代码 · 共 40 行

CPP
40
字号
//============================
//程序名称: .cpp
//程序描述: 
//作者: 
//日期:
//版本号: V0.0.1
//============================


#include <iostream>   
#include <iomanip>    
using namespace std;	  

int main()
{
	for (int n ; cin >> n;)
	{
		cout << setw(11) << n << "-->";
		if (n == 0)
		{
			cout << 0 << "\n";  
			continue;
		}

		if (n < 0)
		{
			cout << "-";
			n = -n;
		}
		int i = 31;
		// i定位到从左到右第一个非0位;定位,如果求位与为0,则该位上为0,继续定位,直到第一个非0位
		while (!(n & 1 << i))
			i--;   
		for (int k = i; k >= 0; --k)
			cout << (n >> k & 1);  //i移到最左边,输出
		cout << "\n";
	}	
	return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?