【c语言】将一个数的二进制序列逆序,其后输出逆序之后的二进制序,所对应的数

【c语言】将一个数的二进制序列逆序,然后输出逆序之后的二进制序,所对应的数
<pre name="code" class="cpp">//  将一个数的二进制序列逆序,然后输出逆序之后的二进制序,所对应的数

#include <stdio.h>

//  从原数拿出最低位,放到mid中,mid左移,原数右移
int reverse(int a)
{
	int mid = 0;
	int bit;
	int n = 32;
	for (; n > 0; --n)
	{
		bit = a & 1;
		mid <<= 1;
		mid |= bit;
		a >>= 1;
	}
	return mid;
}

int main()
{
	printf("%u\n", reverse(1));
	printf("%u\n", reverse(1073741824));
	printf("%u\n", reverse(-1));
	printf("%u\n", reverse(2147483647));
	return 0;
}





【c语言】将一个数的二进制序列逆序,其后输出逆序之后的二进制序,所对应的数



版权声明:本文为博主原创文章,未经博主允许不得转载。