C语言第三十二弹---打印整数二进制的奇数位和偶数位

简介: C语言第三十二弹---打印整数二进制的奇数位和偶数位

使用C语言打印整数二进制的奇数位和偶数位。

思路:分别实现奇数位和偶数位,那么二进制只有0 和 1 那么如何判断一个数的二进制位是0还是1呢?那我们就可以使用位操作符&与1比较,都是1证明该二进制位是1,为0证明该二进制位是0。一个整数二进制位共有32位,分为奇偶各16位,判断一个二进制位后又需要判断下一个二进制位,所以使用循环并通过&判断然后打印。

代码如下:

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
  int a = 0;
  scanf("%d",&a);
  printf("奇数位:\n");
  for (int i = 31; i >= 1; i -= 2)
  {
    printf("%d ", ((a >> i) & 1));
  }
  printf("\n");
  printf("偶数位:\n");
  for (int i = 30; i >= 0; i -= 2)
  {
    printf("%d ", ((a >> i) & 1));
  }
  return 0;
}
相关文章
|
20天前
|
存储 C语言
【C语言刷题系列】求一个数组中两个元素a和b的和最接近整数m
【C语言刷题系列】求一个数组中两个元素a和b的和最接近整数m
|
20天前
|
C语言
【C语言刷题系列】交换整数的奇数位和偶数位
【C语言刷题系列】交换整数的奇数位和偶数位
|
20天前
|
存储 C语言
【C语言进阶篇】整数在内存的存储——原码、反码、补码
【C语言进阶篇】整数在内存的存储——原码、反码、补码
|
20天前
|
C语言
【C语言刷题系列】计算整数的二进制位中1的个数 (三种方式)
【C语言刷题系列】计算整数的二进制位中1的个数 (三种方式)
|
C语言
《C语言及程序设计》实践参考——分离整数和小数部分
返回:贺老师课程教学链接  C语言及程序设计初步  项目要求 要求:编写一个程序,其功能为:从键盘上输入一个浮点数(小数点后有三位数),然后分别输出该数的整数部分和小数部分。样例输入:123.456样例输出:123 456 [参考解答] #include &lt;stdio.h&gt; int main() { float x; int a, b; scanf("%
1908 0
|
2天前
|
C语言
C语言5 字符输出函数和格式输出函数
C语言5 字符输出函数和格式输出函数
6 1
|
4天前
|
算法 编译器 C语言
深入浅出C语言—【函数】下
深入浅出C语言—【函数】下
|
15天前
|
Java C语言 C++
定义C语言的int main()函数
定义C语言的int main()函数
|
17天前
|
存储 移动开发 C语言
技术心得记录:嵌入式开发中常用到的C语言库函数
技术心得记录:嵌入式开发中常用到的C语言库函数
11 1
|
19天前
|
编译器 程序员 Serverless
函数(C语言)
函数(C语言)