位操作运算符梳理

(晚上实在是闲的胃疼。。翻了翻代码发现位运算还写的不太好,在这里梳理一下位运算符)

运算符 含义 说明 例子
& 按位与
把参与运算的两个数对应的二进制位相与,只有对应的二进制均为1时,结果的对应位才为1,否则为0.


9&5中9可以写成00001001,5可以写成00000101,9&5的运算结果是00000001.转化为十进制输出结果是1.

| 按位或 把参与运算的两个数对应的二进制位相或,也就是只要对应的两个二进制位有一个为1时,其结果就为1.
9|5相当于00001001|00000101,运算结果是00001101.转化为十进制输出结果是13.

^ 按位异或
把参与运算的两个数对应的二进制位相异或,当对应的二进制位上的数字不相同时结果为1,否则为0.

9^5相当于00001001^00000101,运算结果是00001100.转化为十进制输出结果是12.
~ 取反 把运算数的各个二进制位按位求反,各位原来是0的改为1,原来是1的改为0. ~9相当于~(00001001),运算结果是11110110.转化为十进制输出结果是246.
<< 左移 把<<左边的运算数的各二进制位向左移若干位,<<右边的数是指定移动的位数,高位丢弃,低位补0. 3<<4相当于把3=00000011左移4位,运算结果是001100 00.转化为十进制输出结果是48.
>> 右移 把>>左边的运算数的各二进制位向右移若干位,>>右边的数是指定移动的位数,高位丢弃,低位补0. 15>>2相当于把15=00001111右移2位,运算结果是0000 0011,转化为十进制输出结果是3.

发现表格不怎么会用。。以后再练练吧

明天滚去上学。。估计要被三主课老师叫出去殴一顿QAQ

大家晚安。。

时间: 2024-10-25 05:46:45

位操作运算符梳理的相关文章

c++重载运算符梳理

1 #include<iostream> 2 using namespace std; 3 class bign 4 { 5 public:int x; 6 int y; 7 int z; 8 public: 9 bign(int a,int b,int c) 10 { 11 x=a; 12 y=b; 13 z=c; 14 }//注意用友元函数 15 friend bign operator + (bign a,bign b);//重定义+ 16 friend bign operator -

C/C++位操作运算符

~ 位求反 ~expr << 左移 expr1 << expr2 >> 右移 expr1 >> expr2 & 位与 expr1 & expr2 ^ 位异或 expr1 ^ expr2 | 位或 expr1 | expr2

C言语运算符简介

举个例子:    1+2*3-10'1', '2', '3', '10'称为操作数,'+', '*', '-'称为运算符.下面的表达式先辈行 * 运算,再停止 + 运算和 - 运算,这是由于运算符的优先级分歧,* 的优先级高于 + 和 -,所以先辈行 * 运算.停止 - 运算时,是7减10,而不是10减7,这是由运算符的联合性决议的,- 运算符的联合性是从左到右.运算符不只具有分歧的优先级,还有分歧的联合性.在表达式中,各运算量介入运算的先后次序不只要恪守运算符优先级其余规则,还要受运算符联合性

C#程序设计基础——运算符与表达式

运算符就是完成操作的一系列符号,它主要包括算术运算符.赋值运算符.关系运算符.逻辑运算符.条件运算.位操作运算符和字符串运算符. 表达式就是运算符和操作数的组合,如a*b+1-c.表达式主要包括算术表达式.赋值表达式.条件表达式以及布尔表达式等. 算术运算符与表达式 C#提供的运算符有五种:“+”加法运算符.“-”减法运算符.“*”乘法运算符.“/”除法运算符.“%”模运算符.算术运算符的优先级按照先乘除后加减的顺序进行运算. 赋值运算符与表达式 赋值就是给一个变量赋予一个新的值.在C#中赋值运

C语言位操作

最近在重新学习C语言,使用的书为Brian W.Kernignan 和 Dennis M.Ritchie的<C程序设计语言> .今晚读到了位操作,并写了一些简单的测试程序. C语言提供了6个位操作运算符.这些运算符只能作用于整型操作数,即只能作用于带着有符号或无符号的char.short.int与long类型. 这六种位操作运算符为: & 按位与 | 按位或 ^ 按位抑或 << 左移 >> 右移 ~ 按位求反 位操作常用于一些开关性质的操作.例如: x = x

MySQL数据库操作5-常用运算符

概述: 常用运算符主要包含有: 算术运算符, 比较运算符, 逻辑运算符, 位操作运算符 等… 1.算术运算符: 支持 + – * / 和 % , 比如在查找数据的时候使用: select n+1,n+2 from num; 前:,后: 同样可以使用其他运算. 注意除法会取到小数点后四位.除0的结果是没有意义的NULL. 2.比较运算符 比较运算符返回的结果通常是9,1,或NULL,可以在查询语句中使用来查询满足条件的记录. 常用的比较运算符介绍: = select 1=0,2=2,'1'=1,1

位操作:BitVector32结构 z

目录 温习位操作 BitVector32的位操作 CreateMask方法 使用BitVector32.Section来存储小整数 BitVector32结构体位于System.Collections.Specialized命名空间内,相对.NET中另外一个位容器BitArray,他的优点是速度快,占用空间小,并可以存储小数字.他内部用一个32位的整数来存储数据,因此只能存储32位的比特数据. 返回目录 温习位操作 在看BitVector32前,温习一下简单的位操作还是很有必要的,常见的位操作无

05-C语言运算符

学习重点: 算术运算符 算术表达式 学习内容: C语言的运算符可分为以下几类: 1. 算术运算符:用于各类数值运算.包括加(+).减(-).乘(*).除(/).求余(或称模运算,%).自增(++).自减(--)共七种.2. 关系运算符:用于比较运算.包括大于(>).小于(<).等于(= =).大于等于(>=).小于等于(<=)和不等于(!=)六种.3. 逻辑运算符:用于逻辑运算.包括与(&&).或(||).非(!)三种.4. 位操作运算符:参与运算的量,按二进制位进

深入理解运算符的重载

*运算符重载: 1.运算符重载就是赋予已有的运算符多重含义,即多种功能. 2.运算符重载的目的:通过运算符的重载即重新定义使得其能够用于特定类的对象执行特定的功能. 3.对于运算符的重载首先要关心的就是那些运算符能够重载,那些不能重载: 能够重载的运算符: (1).算术运算符:+,-,*,/,%,++,--: (2)位操作运算符:&,|,^,~,<<,>>: (3)逻辑运算符:!,&&,||: (4)比较运算符:>,<,>=,<=,=