整数バイナリシーケンスのすべての偶数ビットと奇数ビットを取得し、それぞれバイナリシーケンスを出力します。

アイデア:

  1. すべての奇数ビットを抽出します。ビットが1の場合は1を出力し、0の場合は0を出力します
  2. 同じ方法で偶数位置を抽出します

numのビットが0か1かを検出する方法:

  1. numをiビット右に移動します
  2. シフトが1で行われた後の結果のビットごとのAND:
    結果が0の場合、i番目のビットは0であり、
    結果はゼロ以外の場合、i番目のビットは1です。
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
void Printbit(int num)
{
    
    
	for (int i = 31; i >= 1; i -= 2)
	{
    
    
		printf("%d ", (num >> i) & 1);
	}
	printf("\n");
	for (int i = 30; i >= 0; i -= 2)
	{
    
    
		printf("%d ", (num >> i) & 1);
	}
	printf("\n");
}
int main()
{
    
    
	int num = 0;
	printf("请输入一个数: ");
	scanf("%d", &num);
	Printbit(num);
	return 0;
}

おすすめ

転載: blog.csdn.net/qq_45658339/article/details/108590034