题目:
编写一个程序,接受一个int类型的参数,并返回该参数中打开位的数量
源代码:
#include <stdio.h>
void int_bit_number(int int_bit);
int main()
{
int i;
printf("请输入一个整数: ");
scanf("%d",&i);
int_bit_number(i);
return 0;
}
void int_bit_number(int int_bit)
{
int temp_int = int_bit;
char str_bit[8 * sizeof(int) + 1];
int bit_open=0;
for(int i = 8*sizeof(int);i >= 0;i--,int_bit >>= 1)
{
if(int_bit & 01 == 1) bit_open++;
str_bit[i] = (int_bit & 01)+'0';
}
str_bit[8*sizeof(int) + 1] = '\0';
printf("数字 %d 转换为二进制为: %s 其中打开的位数为: %d",temp_int,str_bit,bit_open);
}
演示效果:
如果朋友你感觉文章的内容对你有帮助,可以点赞,关注文章和专栏以及关注我哈,嘿嘿嘿我会定期更新文章的,谢谢朋友你的支持哈
标签:运算,int,练习,number,C语言,str,bit,open,sizeof From: https://blog.csdn.net/little_startoo/article/details/139588552