二进制运算符主要操作整型的二进制(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
算术运算符 + - * / % % -->只能是整数求余
关系运算符> >= < <= == !=
逻辑运算符 && 逻辑与 连接两个条件 如果两边条件都为真 那么最后的结果为真
|| 逻辑或 连接两个条件 如果两边条件有一个为真 那么最后结果为真
如果两边条件都为假 那么最后结果为假
了解:
[] 下标运算符 数组方括号按照数组下标索引
.点运算符 -> 箭头运算符 结构体
* 取值/解引用 指针
标签:39,0111,0010,二进制,0101,运算符 来源: https://www.cnblogs.com/liugangjiayou/p/10445861.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。