将输入的数以二进制分奇偶进行分别打印.

男娘i 2022-10-22 13:58 214阅读 0赞

在这里插入图片描述

输入一个数,将其以二级制并分奇偶数打印出来

对于这个题,也是运用主函数调用一个函数的样子,就可以得出分奇偶打印出来的样子.

思想:

1.把32个字节依次减2就为偶数,
2.当第31个字节依次减2所有的则都为奇数,
3.我们再用两个for语句将其进行输出
如下面例题:

  1. #define _CRT_SECURE_NO_WARNINGS
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. void Printbit(int num){ //自定义函数
  5. printf("偶数位:");
  6. for (int i = 31; i >= 1; i -= 2) //这里的31是下标,它表示的是第32位,依次减2就是偶数位排列
  7. {
  8. printf("%d ", (num >> i) & 1); //num依次向右移2并与1二进制的1进行与或式
  9. }
  10. printf("\n");
  11. printf("奇数位:");
  12. for (int i = 30; i >= 0; i -= 2) //偶数位,如上可以看出来
  13. {
  14. printf("%d ", (num >> i) & 1); //同上
  15. }
  16. printf("\n");
  17. }
  18. int main(){
  19. int num = 0;
  20. printf("please enter a number:\n");
  21. scanf("%d", &num); //赋予地址
  22. Printbit(num); //调用函数
  23. system("pause");
  24. return 0;
  25. }

总的来说,这个题也不难,只要就是考察一个最基础的,懂不懂得将奇数位和偶数位进行分开,从而分别进行打印,生成最终的结果,还有一部分对于符号位的理解.

发表评论

表情:
评论列表 (有 0 条评论,214人围观)

还没有评论,来说两句吧...

相关阅读

    相关 7-6 分家 (10 )

    给定`N`个正整数,请统计奇数和偶数各有多少个? 输入格式: 输入第一行给出一个正整`N`(≤1000);第2行给出`N`个非负整数,以空格分隔。 输出格式: