当前位置: 首页 > news >正文

GESP等级认证C++三级16-位运算5-1

位运算即为对整数进行按位运算,也就是将整数转换成二进制形式后进行的运算。主要包括按位与、按位或、按位异或、按位取反、左移和右移六种运算。因为位运算是计算机最底层的操作,它们直接对应于CPU指令集中的指令,因此位运算比算术运算的效率要高。

1 按位与运算

1.1 运算规则

按位与是一个二元操作,它对两个等长的二进制数的每一位进行独立的逻辑“与”操作。其运算规则如图1所示。

图1 按位与的运算规则

从图1中可以看出,只有两个位都为1时,结果才是1;否则结果为0。

1.2 代码实现

按位与的操作符是“&”,代码如图2所示。

图2 按位与的代码

其中,a的值是5,其二进制形式为“0101”;b的值是3,其二进制形式是“0011”,根据图1所示按位与的运算规则,这两个变量按位与的计算原理如图3所示。

图3 按位与的计算原理

因此,图2中变量c的值为1。

1.3 应用

1.3.1 判断奇偶性

对于奇数,其二进制形式的最低位一定是1,而偶数的最低位一定是0。因此,通过按位与运算,判断其最低位是1还是0,就可以判断这个数的奇偶性,代码如图4所示。

图4 通过按位与判断奇偶性的代码

通过图1所示按位与的运算规则可以看出,1与任何数按位与的结果是这个数的本身;而0与任何数按位与的结果都是0。因此,可以将一个数a与1进行按位与操作,就可以得到a的最低位的值。第7行代码通过if语句判断最低为的值,如果是1则说明是奇数,否则为偶数。

1.3.2 检查特定位的值

在“1.3.1 判断奇偶性”中提到,可以通过一个数a与1进行按位与操作,就可以检查a的最低位的值。除了最低位以外,通过按位与操作,还可以检查a特定位的值,代码如图5所示。

图5 通过按位与检查特定位的值

其中,第7行代码通过a与0x100进行按位与,就可以得到a的二进制形式的第3位的值是0还是1。同理,如果检查a的第4位值,则需要a与0x1000进行按位与。

1.3.3 清除特定位的值(将该位设置为0)

通过按位与运算,可以清楚特定位的值,也就是将特定位的值设置为0。代码如图6所示。

图6 通过按位与清除特定位的值

因为在按位与的运算规则中可以看出,1与任何数按位与的结果是这个数的本身;而0与任何数按位与的结果都是0。第7行代码通过变量a与0b1011进行按位与运算,将a二进制形式的第3位设置为0。a的值是5,其二进制形式是“0101”,将其第3位设置为0之后变为“0001”,此时变量b的值是1。如果要清楚第2位的值,则只需要将该数与0b1101进行按位与运算即可。

http://www.dtcms.com/a/479702.html

相关文章:

  • 一个人做网站时间品牌注册怎么注册
  • 网站建设 后台建站快车凡科
  • 2.4运算符
  • 张店网站制作哪家好自己建网站做外贸
  • 新的网站建设技术方案cnzz wordpress
  • Latex 写作注意事项
  • 公司手机网站模板joomla 网站图标
  • 凡科网可以免费做网站吗建立免费空间网站
  • ​​ 算法知识图谱:终结碎片化学习的终极指南
  • 哪个不是网站开发工具安溪人做的网站
  • 虚拟机安装小皮面板
  • 东营做营销型网站建设WordPress 收款方案
  • Jupyterlab pip 无法安装到当前kernel对应环境下
  • 内网网站开发费用网片的重量计算公式
  • 江苏水利工程建设局网站旺店通app手机企业版下载
  • 响应式网站建设 苏州wordpress的选页插件
  • 网站管理与建设试题沉默是金歌词谐音对照
  • 关于在ant-design-vue 3.x a-modal中使用tinymce-vue全屏时,工具栏下拉列表不展示问题
  • nas上建设网站莱州市招聘网站
  • 安装插件遇到报错时间错误导致签证失败 Errors during downloading metadata for repository ‘baseos‘:
  • 做网站策划网盘做扩大网站服务器
  • 镇江网站网站建设淘宝开店后怎么运营
  • Norbornene-NHS,应用于生物正交化学、蛋白质修饰及功能材料构建
  • 中国建设银行海南省分行网站出词
  • Kubernetes 自动扩缩容方案详解
  • 欧美做的爱爱网站网络服务提供者知道网络用户利用其网络服务侵害
  • 有做学历在网站能查的到的下载汽车网站制作网站
  • 用selen 4x4数独新版求解程序改写的16x16版本
  • 玉林网站开发怎么做代理人金沙网站
  • 用户等待网站速度wordpress突然访问不了