输出一个数二进制的所有位及奇偶位

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了输出一个数二进制的所有位及奇偶位相关的知识,希望对你有一定的参考价值。

首先我们看一下输出一个整数二进制的所有位。

如果要输出它的所有位,从最高位开始每次移动i个长度,并且每一位都与1。

代码:

#include <stdio.h>

int main()
{
	int num = 9;
	int i;
	for (i = 31; i>=0;i--)
	{
		printf("%d",((num>>i)&1));
	}
	return 0;
}

同理奇数位从它的最高位开始,每次移动i个长度并且i=i-2,每一位都与1,。偶数位从第二为开始与奇数位移动相同。

代码:

#include <stdio.h>
int main()
{
	int i;
	int num=9;
	printf("奇数位");
	for (i=31;i>=0;i-=2)
	{
		printf("%d",((num>>i)&1));
	}
	printf("偶数位");
	for (i=30;i>=0;i-=2)
	{
		printf("%d",((num>>i)&1));
	}
	return 0;
}


以上是关于输出一个数二进制的所有位及奇偶位的主要内容,如果未能解决你的问题,请参考以下文章

CRC-16/MODBUS 算法

奇偶校验码的特点是啥?为啥说它是可靠性代码?

Modbus RTU CRC校验码计算方法

位运算的奇技淫巧:实现乘除交换两数判断奇偶交换符号求绝对值高低位交换二进制逆序统计二进制中 1 的个数

奇偶校验

剑指offer系列5:二进制中1的个数