看看函数printb()函数那神奇的地方

#include <iostream>
#include <stdio.h>
using namespace std;void printb(int x,int n);int main()
{int x=1;while(x){scanf("%d",&x);printb(x,sizeof(int)*8); putchar('\n');}cout<<endl;return 0;
}void printb(int x,int n)
{if(n>0){int a=1<<(n-1);      int b=x&a;int c=b>>(n-1);unsigned T=(unsigned)c;putchar('0'+T);// 以上五行等价于 putchar('0'+((unsigned)(x&(1<<(n-1)))>>(n-1)));printb(x,n-1);}
}

在插入一张编译器中编辑区的代码吧,CSDN上的代码整的都没颜色,有事回头看着自己写的代码都闹心。

位运算符  &   |   ~  的应用如下:

#include <iostream>
#include <stdio.h>
#include <iomanip>
using namespace std;
void printb(int x,int n);
int main()
{int value=4;int a,b,c,d;a=value | 1 << 3;b=value & ~(1<<3);c=value & 1<<3;d=1<<3;cout<<a<<' '<<b<<' '<<c<<' '<<d<<endl;printb(a,4); // 用if换行printb(b,4); // 用if换行   printb(c,4); // 用if换行printb(d,4); // 用if换行return 0;
}
// 因为看不出位运算出的数据的二进制位的情况,所以定义此函数
void printb(int x,int n)
{  if(n>0)  {  int a=1<<(n-1);         int b=x&a;  int c=b>>(n-1);  unsigned T=(unsigned)c;  putchar('0'+T);  printb(x,n-1); } // 以下这两句是干什么用的if(n<=0)cout<<endl<<endl;}  

上端程序输出的结果如下:

我用的编译器写出的代码就是介个样子的,看着多舒服。未完待续。。。。。。。。

位运算符 | ^ ~的厉害__10进制 To 2进制相关推荐

  1. js数据类型、对象类型、位运算符

    2程序设计基础 2.1常规数据类型与变量 2.1.1现实生活中的数据 数据的几个属性:名称.值.类型 数据 名称 值 类型 价格 1399.00 数值类型 累计评论 345 数值类型 是否支持7天无理 ...

  2. java位运算符取反_Java运算符之位运算符

    位运算符 尹成课程资料及演示(免费)(文末有资料链接) 位运算符是针对二进制数的每一位进行运算的符号,它是专门针对数字0和1进行操作的.接下来通过一张表来展示Java中的位运算符及其用法,如表1所示. ...

  3. 多种进制转换方法,原码、反码、补码计算与转换,位运算符的使用方法,函数简介

    目录 进制转换: 为什么要使用二进制.八进制.十六进制 十进制转二进制:(转其他进制) 二进制转十进制 二进制转八进制 二进制转十六进制 原码.反码.补码: 原码: 反码: 补码: 补码转数据: 位运 ...

  4. C语言简介之进制转换,原码、反码、补码,位运算符,函数

    文章目录 进制转换: 十进制转二进制:(转其他进制) 二进制转十进制: 二进制转八进制: 二进制转十六进制: 原码.反码.补码: 位运算符: & ,|, ~, ^, <<, > ...

  5. javascript进制转换_「js基础」JavaScript逻辑和位运算符归纳

    上一篇文章呢,我们讲述了JavaScript运算符中的关系运算符和逻辑运算符,那么紧接上一篇的文章我们今天来说说逻辑运算符. 引言 逻辑运算符不是很难,也不是很多,我们只要记住三个就可以啦!分别是: ...

  6. C语言32位正整数作为id进程,SOJ4453 Excel列数 进制转换

    描述 我们都知道Excel的列数是用字母表示的,比如第1列对应A,第27列对应AA. 假设给定一个正整数n,你能给出它所对应的字母表示么? 输入格式 程序需要读入多个测试样例,每个测试样例中: 一个正 ...

  7. 利用10位AD转换器 及 LED 数码管,实现由AD转换器采集温度,并用数码管显示。温度超出一定范围,LED 指示灯闪烁报警。(主要分析进制16进制转换10进制,并用数码管显示问题)

    ** 题目: ** 利用原有的电路 AD 及 LED 数码管显示等例子,进行整合.实现由 AD转换器采集温度(用可调电阻模拟),温度在数码管上显示.当温度超出一定范围,用 LED 指示灯进行闪烁报警. ...

  8. python 负数十六进制_python16进制转换为10进制 Python 将十六进制数转成4位二进制数...

    python 把16进制字符串转化为16进制数字, 比如'0x小编不希望有一天发现自己是为了别人活,小编愿意承担后果,就算偶尔寂寞甚至孤独而终,小编都能接受. 十六进制的ascii码怎么转成十六进制呢 ...

  9. 10进制转16进制,16进制转10进制,随机出一个6位十六进制颜色值

    方案一: var num16 = "ffffff";var num10 = parseInt(num16,16);//16进制转10进制console.log(num10) // ...

最新文章

  1. Mysql列类型-数值型
  2. html调用asp边疆,[求助]怎么实现ASP在HTML中调用
  3. Developer Express XtraGrid使用技巧
  4. JZOJ 3158. 【JSOI2013】丢番图
  5. DBCC--CHECKIDENT
  6. HDU 3488 KM
  7. docker学习5--docker数据卷(volume)
  8. mysql的事物隔离机制?
  9. weex默认的flex布局_CSS flex布局入门
  10. ArcGIS——数据库与服务备份(二、arcgis server中站点服务的备份和恢复)
  11. 树莓派3 + Android Things
  12. Gradle学习之闭包
  13. 进销存软件网络版连接不上,如何设置IP地址
  14. python无限循环一段句子,python无限循环语句如何实现
  15. CoAP协议学习——CoAP基础
  16. mysql中的锁(表锁,行锁)
  17. 【Mendeley】参考文献中et al 的格式修改
  18. 2018 前端性能优化清单
  19. (xshell中)Linux服务器查看GPU的使用情况。
  20. origin橘子平台中文设置教程

热门文章

  1. 为什么要把id存到redis的key中_干货|mysql:exists还是in?哪个性能好?为什么?
  2. 视频点播服务器实现视频转码和视频播出功能
  3. java对比swith和if的不同,浅谈选择结构if语句和switch语句的区别
  4. dropout为什么有效
  5. ipc (进程间通信
  6. iOS 入门——Hello World app
  7. Docker发布镜像至Docker Hub
  8. 快递官网漏洞泄露 1400 万用户信息
  9. [Learn AF3]第七章 App framework组件之Popup
  10. 李彦宏纳猛将,技术才是百度的未来