运算符

二进制运算符主要操作整型的二进制(char,int等) ,分为按位或 按位与 取反和异或

以下二进制运算都是先求出二进制然后进行计算(此处 用8位二进制的char作为例子)

提前算出的两个数字的二进制  39   0010 0111           21  0001 0101

按位或 |    依次比较两个二进制的每一位 按照有1则1,否则为0的规则依次计算出一个新的二进制     39|21--->0010  0111   |   0001 0101  à  0011 0111

按位与 &  依次比较两个二进制的每一位 按照有0则0,否则为1的规则依次计算出一个新的二进制     39&21---> 0010  0111   &   0001 0101  à  0000 0101

异或  ^     依次比较两个二进制的每一位 按照相同为0 不同为1 的规则依次计算出一个新的二进制     39^2--->  0010  0111   ^   0001 0101  à  0011 0010

取反 ~ 对二进制的每一位,1变0,0变1 得到一个新的二进制~39->~0010 0111->1101 100

•        左移     39<<2    表示将39的二进制左移两位 先算出39的二进制 0010 0111,然后后面加上两个0,前面去掉两位(左移几位就后面加几个0 前面去掉几位

•        39<<2----->10 0111 00->1001 1100

•        右移 39>>2  和左移同理  先算二进制 0010 0111在前面加上两位符号位(正数加0 负数加1)然后后面去掉两位

•        39>>2------>0000 1001

•        左移一位相当于乘以2 右移一位相当于除以2(不完全等同) 比除法快

赋值运算符:

右值赋值给左值,左值必须是变量

a+=b等价a=a+b

其他如下图之类的运算方式都与上面方法一样

其他运算符:

sizeof求类型或者变量的大小    sizeof(int)括号里面写类型或者变量名

四种基本数据类型精度从高到低的顺序是 double float int char

算术运算符   + - * / %  % -->只能是整数求余

关系运算符>  >= <  <=  == !=

逻辑运算符 &&  逻辑与 连接两个条件  如果两边条件都为真 那么最后的结果为真

||  逻辑或 连接两个条件  如果两边条件有一个为真  那么最后结果为真

如果两边条件都为假  那么最后结果为假

了解:

[] 下标运算符  数组方括号按照数组下标索引

.点运算符  ---> 箭头运算符  结构体

*  取值/解引用  指针

原文地址:https://www.cnblogs.com/liugangjiayou/p/10445861.html