C语言——输出一个数的二进制序列
程序员文章站
2022-03-08 14:36:18
...
用C语言实现一直接收一个整型,输出该整型的二进制序列。
这个题目在于C语言初学者能够考虑到使用位操作,该程序在取出一个数的最后一位是用到了“&”运算;在更新这个数时用到了“>>”运算,其余的也没有什么难点。了解位操作请点击:C操作符。
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
//接收一个整型,输出它二进制序列的每一位(设为八位)
int main()
{
while (1)//实现一直接收
{
int a = 0;
printf("Please enter:");
scanf("%d", &a);
int i = 0;
int sum = 0;
int array[8] = { 0 };//创建一个八个元素的数组,只是为了在输出时\
完全以二进制序列的形式输出,否则为逆序。
for (i=0; i<8; i++)//八位二进制序列,因此控制八次
{
sum = a & 1;//与1便得到这个数的最后一位
if (sum == 1)
{
array[i] = 1;
}
else
{
array[i] = 0;
}
a = a >> 1;//更新这个二进制序列
}
for (i=7; i>=0; i--)//逆序输出
{
printf("%d ", array[i]);
}
printf("\n");
}
return 0;
}
上一篇: JavaSE之路09--while循环
下一篇: 雄性的尊严
推荐阅读
-
剑指offer11:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。(进制转换,补码反码)
-
C语言:有一个分数序列,2/1+3/2+5/3+8/5+13/8+…求出这个数列前 20 项的和
-
C#不重复输出一个数组中所有元素的方法
-
剑指offer11:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。(进制转换,补码反码)
-
C#不重复输出一个数组中所有元素的方法
-
教你编写c语言实现输入10个数按从大到小的顺序排序输出
-
c语言:3种方法实现输出一个整数的每一位。
-
用C语言写一个函数返回参数二进制中1的个数
-
c语言:输出以下关键字的字节大小及输出一个地址:char,short,int,float,double,long
-
关于C语言中i++和++i的区别以及printf输出的一些问题。