博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
位运算实现输出数字的二进制
阅读量:6868 次
发布时间:2019-06-26

本文共 780 字,大约阅读时间需要 2 分钟。

hot3.png

#include
#include
#include
//求出一个数的二进制//使用&运算void main(void) { int num; puts("输入整数"); scanf_s("%d",&num); printf("%d\n%p\n",num,&num); //创建一个最高位为1的32bit(四字节整数最高位为1 内存为 1000 0000 0000 0000 0000 0000 0000 0000) // 整数1位移31位32bit位,的第一位成为1 结构是0000 0000 0000 0000 0000 0000 0000 0001 向前移动 31位1000 0000 0000 0000 0000 0000 0000 0000 int temp = 1<<31; if (num < 0)//如果这个数字是负数处理 { num = ~num+1;//取反+1 负数的内存中存放方式是补码的方式存放 这里求出了他的正数源码 num = num | temp;//设置这个正数的源码,把其的最高位相或等于1 求出了负数的源码 } for (int i = 1; i <=32;i++) { if ((temp&num) == 0) { printf("0"); } else { printf("1"); } if (i%4==0) // %4后等于0输出空格 { printf(" "); } num <<= 1;//移动输入的数字的最高位,继续比较 } system("pause");}

 

转载于:https://my.oschina.net/u/3529405/blog/1532248

你可能感兴趣的文章
web开发插入数据时控制台没报错,可能是数据库表被锁了
查看>>
python_day11のPython操作 pymysql && SQLAchemy
查看>>
格式化输出
查看>>
42幅非常有创意的食品广告欣赏(上篇)
查看>>
SQL性能优化
查看>>
TCP/UDP穿越NAT的P2P通信方法(Hole Punching)
查看>>
django对数据库操作的封装
查看>>
python实现linux下指定目录下文件中的单词个数统计
查看>>
SQL SERVER存储过程中如何使用事务与try catch
查看>>
没什么不可能:剿灭Windows下的29个烦恼
查看>>
String,StringBuffer,StringBuilder的整理
查看>>
mysql 字符截取 实列
查看>>
部署mysql高可用、读写分离集群
查看>>
jquery中下拉多选插件jquery.multiSelect的使用
查看>>
梦想与现实,你会选择什么——一个电子爱好者的迷茫
查看>>
用rabbitMQ实现生产者消费者
查看>>
GRADLE遇见“设备未就绪”
查看>>
正则表达式实现——匹配括号中的A 以及 匹配非括号中的A
查看>>
golang锁sync.Mutex
查看>>
定义自己的JSTL标签库
查看>>