首页 > 其他分享 >位移操作

位移操作

时间:2023-03-22 15:02:39浏览次数:35  
标签:按位 exp2 exp1 操作符 result 操作 对应 位移


1.基本操作:



   使用一个unsigned int变量来作为位容器。



2.操作符:



|   按位或操作符:result=exp1|exp2;当exp1和exp2中对应位中至少有一个为1时,result中对应位为1,否则为0。



&  按位与操作符::result=exp1&exp2;当exp1和exp2中对应位全为1时,result中对应位为1,否则为0。



^  按位异或或操作符:result=exp1^exp2;当exp1和exp2中对应位不相同时,result中对应位为1,否则为0。



~  反转操作符:将位容器中的所有位都反转,1变为0,0变为1。



<< 按位左移操作符:exp<<n,将容器中所有的位向左移n位,空出的位用0填充。



>> 按位右移操作符:exp>>n,将容器中所有的位向右移n位,空出的位用0填充。



|=,&=,^= 分别对应|&^三种操作符的复合操作符。



3.常用操作



   这里我们假设有一个result的unsigned int变量用来储存32个学生的成绩(通过和不通过分别用0和1),这样result就有33位(result从右至左,从0开始计算位数,在这个例子中0位被浪费)。



(a) 将第27位设置为及格(设作1)其他位不变:



   result|=(1<<27) //任意的位值与1作按位或操作其值为1,而与0作按位与操作其值不变



(b) 将第27位设置成不及格(设为0)。



   result&=~(1<<27) //任意的位值与0作按位与操作其值为0,而与1作按位与操作其值不变



(c) 反转第27位的值。



   result^=(1<<27) //任意的位值与1作按位异或操作其值为1,而与0作按位异与操作其值不变

标签:按位,exp2,exp1,操作符,result,操作,对应,位移
From: https://blog.51cto.com/u_2650279/6142638

相关文章

  • java 微信支付v3 —3.订单创建准备操作
    正文微信支付的下单操作分为了5种,分别是JSAPI、APP、H5以及Native支付及小程序支付,之所以将支付放在单独一个章节,而不是按照支付类型划分一个章节,是因为支付所传递的数据都......
  • Node-RED中连接Mysql数据库并实现增删改查的操作
    场景Node-RED中建立静态网页和动态网页内容:Node-RED中建立静态网页和动态网页内容_霸道流氓气质的博客-在上面的基础上,怎样实现连接Mysql数据库并将数据库中的数据显示在网......
  • 链表操作-leetcode23-删除倒数第几个节点
    给你一个链表,删除链表的倒数第n个结点,并且返回链表的头结点。示例1:示例2:输入:head=[1],n=1输出:[]示例3:输入:head=[1,2],n=1输出:[1]提示:链表中结......
  • 自己动手从零写桌面操作系统GrapeOS系列教程——21.汇编语言写硬盘实战
    学习操作系统原理最好的方法是自己写一个简单的操作系统。在上一讲中我们学习了用汇编语言读硬盘,本讲我们来学习用汇编语言写硬盘。同样也是设计一个简单的实验,实验内......
  • [ c ] 文件操作详解———通讯录
    本文主要介绍了C语言中有关文件的基础知识与基本操作,对涉及到的操作函数进行了详细解释,同时以笔者自己的理解,对函数的命名进行了一些探究,并以通讯录为例,做了打开存储等演示......
  • 在linux操作系统下注销、关机、重启的简单命令
    一、注销的命令——Logout是登陆的相对操作,登陆系统后,若要离开系统,用户只要直接下达logout命令即可:#logout二、关机或重新启动的命令——shutd......
  • 操作系统6道面试题
    202303211.进程和线程的区别进程(Process)和线程(Thread)是操作系统中的两个重要概念。一个进程可以看作是一个正在运行的程序实例,它拥有自己的地址空间、内存、数据栈和其......
  • 树的基本操作
    增删改查#include<iostream>#include<vector>#include<cstdlib>#include<ctime>usingnamespacestd;structNode{intdata;Node*lchild,*rchild,*pa......
  • (EVE-NG)江西省职业技能大赛网络设备与操作系统基本配置
    原题:https://blog.csdn.net/qq_50377269/article/details/125017385环境:EVE-NG网络拓扑图(简化了一台linux服务器,原因是还没下载镜像)  网络设备基本配置ISP......
  • SQL之操作数据表基操
    1、创建数据表createtablestudent(idint,namevarchar(20),gendervarchar(10),birthdaydate);2、查看当前数据库中所有数据表showtables;3、查看......