天天看點

輸出一個二進制整數的每一位

問題:

輸出一個整數的每一位。

基本思路:

将整數的每一位都後移到最後一位并按位&1并輸出。

代碼:

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
void output(int num){
		printf("輸出為:");
		//從最高位到最低位依次後移到最後一位并按位&1輸出每一位
		for (int i = 31; i >= 0; i--){
			printf("%d ", (num >> i) & 1);
		}
		printf("\n");
}
int main(){
	printf("輸入一個整數:");
	int num = 0;
	scanf("%d", &num);
	output(num);
	system("pause");
	return 0;
}