將輸入的數以二進位制分奇偶進行分別列印.
阿新 • • 發佈:2021-03-19
輸入一個數,將其以二級制並分奇偶數打印出來
對於這個題,也是運用主函式呼叫一個函式的樣子,就可以得出分奇偶打印出來的樣子.
思想:
1.把32個位元組依次減2就為偶數,
2.當第31個位元組依次減2所有的則都為奇數,
3.我們再用兩個for語句將其進行輸出
如下面例題:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
void Printbit(int num){ //自定義函式
printf("偶數位:");
for (int i = 31 ; i >= 1; i -= 2) //這裡的31是下標,它表示的是第32位,依次減2就是偶數位排列
{
printf("%d ", (num >> i) & 1); //num依次向右移2並與1二進位制的1進行與或式
}
printf("\n");
printf("奇數位:");
for (int i = 30; i >= 0; i -= 2) //偶數位,如上可以看出來
{
printf("%d ", (num >> i) & 1 ); //同上
}
printf("\n");
}
int main(){
int num = 0;
printf("please enter a number:\n");
scanf("%d", &num); //賦予地址
Printbit(num); //呼叫函式
system("pause");
return 0;
}
總的來說,這個題也不難,只要就是考察一個最基礎的,懂不懂得將奇數位和偶數位進行分開,從而分別進行列印,生成最終的結果,還有一部分對於符號位的理解.