欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

c++ 二进制与十进制互转

程序员文章站 2022-07-15 09:34:40
...

 

long long ConVertDec2Bin(int a)//十进制转二进制
{
	long long bin = 0;//返回值变量
	int n = a; //参数
	int re,i=1;//余数
	while (n != 0)
	{
		re = n % 2; //n取余
		//n /= 2;//取整
		n >>= 1;//取整
		bin += re * i;
		i *= 10;
	}
	return bin;
}

int ConVerBin2Dec(char a[8])//二进制转十进制
{
	int j = 0, dec = 0;
	char c[8] = { 0 };

        j = 0;
		for (int i = 7; i >= 0; --i)
		{
			if ((a[i] != '1') && (a[i] != '0'))
			{
				return 0;
				break;
			}
			else
			{

				//dec += (a[i] - '0') * static_cast<int>(pow(2, j));
				dec += (a[i] - '0') * (2 << j);
			}
			++j;

		}
		dec >>= 1;
	return dec;
}

 

相关标签: c/c++