首先要理解整数在机器内是如何用补码表示的:原码、补码、反码

按位运算,就是对一个数(常量或变量)的二进制位与另一个数的对应二进制位进行运算

位运算有:

& 位逻辑与,1&1等于1,1&0等于0,0&1等于0,0&0等于0

| 位逻辑或 ,1|1等于1,1|0等于1,0|1等于1,0|0等于0

^ 位逻辑异或 ,两个二进制位不同,结果为1,否则为0

~ 求反, 使一个数(常量或变量)的每一位变反,即0变1,1变0

>> 右移, 对一个数(常量或变量)的每一位右移

<< 左移, 对一个数(常量或变量)的每一位左移

例2.7.1 按位运算

#include <iostream>
using namespace std;
int main()
{short int  a,b,c;a=11;               //a的二进制表示 00000000  00001011b=39;               //b的二进制表示 00000000  00100111c=-23;              //c的二进制表示 11111111  11101001cout<<(a&b)<<endl;  //   a&b的结果  00000000  00000011cout<<(a|b)<<endl;  //   a|b的结果  00000000  00101111cout<<(a^b)<<endl;  //   a^b的结果  00000000  00101100cout<<(~a)<<endl;   //   ~a的结果   11111111  11110100cout<<(c>>2)<<endl;  // c>>2的结果  11111111  11111010cout<<(a<<2)<<endl;  //左移一位相当于乘2运算,这里左移了2位 return 0;
}

程序运行的输出结果

计算机内,整数是用补码表示的,能理解补码,就能解读程序的输出结果。

移位运算实现整型变量a乘2(a<<2)或除2(a>>1)运算,效率比a*2或a/2运算高。

看看高手是如何活用位运算的

god-jiang:神级运算——位运算​zhuanlan.zhihu.com

如何把二进制数化成十进制数_二进制数按位进行逻辑运算相关推荐

  1. 如何把二进制数化成十进制数_如何将二进制数1101.1转化成十进制数?计算步骤是怎样的?...

    展开全部 1101.1转换32313133353236313431303231363533e78988e69d8331333365633938为10进制为13.5 进制转换是人们利用符号来计数的方法. ...

  2. 十进制数转换为二进制数

    Description 输入一个十进制整数,将其转换为二进制数,并将转换结果输出. Input 多组测试数据,每组输入一个十进制整数. Output 将十进制数转换为二进制数,输出转换结果. Samp ...

  3. Java中十进制数转二进制数的方法

    十进制数转二进制数,跟据不同的开发语言其转换方式有很多,在Java中如果相把一个十进制的整数来转换成二进制那是举手之劳,非常简单,只要用Integer.toBinaryString(int)方法就可以 ...

  4. 数制转换,使用按权展开法将二进制数转换为十进制数,使用短除法除2取余计算十进制数转换为二进制数

    1:数制转换 1.1 问题 1)请将下列数字转换为十进制数: (110010011111)2 .(10110101110)2 2)请将下列十进制数转换为二进制: 156.2608.1043 1.2 方 ...

  5. #Python# 十进制数转换为二进制数(包含小数)

    #Python# 十进制数转换为二进制数(包含小数) 问题描述 问题分析 代码 问题描述 编写程序,输入十进制小数(只考虑正数),把它转换为以字符串形式存储的二进制小数,输出该二进制小数字符串.对于转 ...

  6. 二进制数与十进制数相互转换 string陷阱(赋值错误) 汉字分为两个字符 string123 string字符串逆转

    二进制数与十进制数相互转换: 二进制数(数组)转换成十进制数的函数: BtoO(char str[]) { int lg,sum=0,j=1; lg=strlen(str)-1; for(;lg> ...

  7. 二进制数转换十进制数(十进制转二进制)

    [二进制数转十进制数] 各个位拆开,每一位的数值乘2的次幂(末尾是2的0次幂),然后相加求和 移位操作(左移----乘法) [十进制数转二进制数] 模2取余,将余数从低往上排(自下而上),即为该数的二 ...

  8. 二进制数转换十进制数;技巧Part1;Python

    二进制数转换十进制数:方法及内容如下: 操作方式如图(操作软件是Python) print(int('011001010011110',2)) 输入二进制数,输出十进制数. 其他方法 正整数转成二进制 ...

  9. 十进制数转换为二进制数以及浮点数存储方法

    一.十进制数转换为二进制数 十进制数转换为二进制数时,由于整数和小数的转换方法不同,所以先将十进制数的整数部分和小数部分分别转换后,再加以合并. 1. 十进制整数转换为二进制整数 十进制整数转换为二进 ...

最新文章

  1. AAC规格分类和下载地址
  2. php如何实现读取网易有道词典输出单词的xml格式并且转化为html形式
  3. Python与MySQL
  4. 七十九、Springboot 整合 Elasticsearch
  5. 使用Java生成二维码图片(亲测)
  6. 《SpringMVC从入门到放肆》一、概述
  7. WPF定时刷新UI界面
  8. 信息学奥赛一本通(1131:基因相关性)
  9. 响应式布局这件小事有哪些优点和缺点该怎么设计
  10. 为什么看别人的网站排名都在第一页?有可能是以下三种原因
  11. jsp input输入实时校验长度并提示_拆解「输入框」,理解输入反馈的规则逻辑
  12. Java使用for循环打印菱形
  13. 苹果4s怎么越狱教程_苹果手机:iPhone 11/XS系列iOS13-13.3越狱教程
  14. 使用MaxScale实现mysql读写分离
  15. multiparty 和 busboy
  16. 乐鑫科技推出基于 ESP32-C3 的 Wi-Fi 单火线智能开关方案
  17. 【SpringBoot】最通俗易懂的消息服务
  18. 当前服务器更新维护公告,【已开服】1月17日全部服务器更新维护公告
  19. 51单片机 ADC0832酒精传感器
  20. 常见前端九十道面试题及答案-韩烨

热门文章

  1. 使用docker部署一个直接可用的puppet服务端
  2. jquery 导航栏目
  3. CentOS下软件的安装
  4. android adb启动不了
  5. innodb_monitor
  6. 14条最佳JS代码编写技巧
  7. 设计模式 – 策略模式(Strategy)
  8. CSP认证201312-5 I’m stuck![C++题解]:dfs、两次dfs
  9. PAT甲级1065 A+B and C (64bit):[C++题解]爆long long,熟悉计算机存储有符号数原理
  10. linuv创建文件的命令_ECS实践案例丨逻辑卷的创建和扩容操作指导