输入一个数,将其以二级制并分奇偶数打印出来
对于这个题,也是运用主函数调用一个函数的样子,就可以得出分奇偶打印出来的样子.
思想:
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;
}
总的来说,这个题也不难,只要就是考察一个最基础的,懂不懂得将奇数位和偶数位进行分开,从而分别进行打印,生成最终的结果,还有一部分对于符号位的理解.