首页 > 其他分享 >C语言-位运算练习-3

C语言-位运算练习-3

时间:2024-06-15 12:33:53浏览次数:19  
标签:运算 int 练习 number C语言 str bit open sizeof

题目:

编写一个程序,接受一个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

相关文章

  • 2022年9月3号 辅导的大一新生自学C语言,答疑解惑聊天记录。
    C调战士......
  • 用c语言实现base64编码接口程序
    简要介绍base64Base64编码是一种常用的编码方式,主要用于将二进制数据转换为可打印的ASCII字符集,以便在不支持二进制传输的介质上安全地传输数据。......
  • C语言详解(预编译)
    Hi~!这里是奋斗的小羊,很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎~~......
  • 【C语言习题】30.使用指针打印数组内容
    文章目录作业标题作业内容2.解题思路3.具体代码作业标题使用指针打印数组内容作业内容写一个函数打印arr数组的内容,不使用数组下标,使用指针。arr是一个整形一维数组。2.解题思路先定义一个数组,使用指针打印数组内容那就是说我们可以通过对指针解引用,来访问......
  • 【C语言】13.数据在内存中的存储
    文章目录1.整数在内存中的存储2.大小端字节序和字节序判断2.1什么是⼤⼩端?2.2为什么有⼤⼩端?2.3练习2.3.1练习12.3.2练习22.3.3练习32.3.4练习42.3.5练习52.3.6练习63.浮点数在内存中的存储3.1练习3.2浮点数的存储3.2.1浮点数存的过程3.2.2浮点数取的过......
  • JavaScript的运算符(算术、比较、赋值、逻辑、条件)
    天行健,君子以自强不息;地势坤,君子以厚德载物。每个人都有惰性,但不断学习是好好生活的根本,共勉!文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。文章目录运算符1.算术运算符1.1示例代码1.2打印结果2.比较运算符2.1示例代码2.2打印结果3.赋值......
  • C语言例题,五子棋在判断胜负,下棋落子上的算法参考,以及基于easyx的实现源码
    赘述首先我们需要在外部定义一个(n+4)*(n+4)且全为0的二维数组(为什么要加4见判断胜负部分)         以及鼠标消息变量mouse        (设成0只是为了判断是否是未落子区域),其中n为我们所绘制棋盘各行/列单位元个数+1如在800*800的棋盘中我们的n就是9当我们将......
  • C语言大师之路:从零到王者/新手入门(2)
    序(一些闲话)我希望我的语言不要像专业书那样让人眼花缭乱,所以当我解释语法时,我会尽量避免使用太多专业术语,让说明更容易理解。我会用通俗易懂的语言来解释,而不是像专业书籍那样让人感到困惑。本人计划通过文章分享C语言的核心知识点和学习心得。鉴于仍处于学习阶段,文章中可......
  • 考研计组chap2数据的表示和运算(补充)
    一、进位计数制1.r进制第i位表示r进制的权为i2.进制转换(1)r->10对应位置数*权值(2)2->16or8每三位2进制数可表示1位16进制每四位2进制数可表示1位16进制so分开之后转为16进制即可eg:1111000010.01101转8、1600111100  0010.01101000=>(3C2.68)H 0......
  • Java中如何使用运算符?
    在Java中,运算符是用于执行基本数学计算、逻辑比较以及赋值操作等的重要元素。以下是Java中常见的运算符及其使用方法的详细介绍:1:算术运算符:加法(+):用于将两个数相加。inta=5;intb=3;intsum=a+b;减法(-):用于将两个数相减。intx=10;......