& 和 | 和 ~
O(∩_∩)O~~浅理解,不足之处请多指正,谢谢。
1) &
& :二目运算符,把运算符两侧的数换成 二进制 再依次求与。
例如:a = 2,b = 3;
c = a & b;
相当于:0010
0011
c: 0010 = 2;
2) | 和 ||
| :二目运算符,对两个条件都判断。
例如: a = 2,b = 3;
if(a++|b++)
{
cout << "hello" << endl;
}
运算后 :a = 3,b = 4; (a,b 都加一)
||:
if(a++||b++)
{
cout << “boy” << endl;
}
运算后 :a = 3,b = 3; (a+1,b不加)
3) ~
~:单目运算符,换成二进制,按位取反。
a = 0010 = 2;
~a = 1101;
~a是负数,把二进制负数换成十进制方法是:按位取反,再加一。
则:
~a = 1101
= 0010 + 1
= 0011
= -3;
随机推荐
- 彭亮—Python学习
1.1 Python简单介绍 1.2 安装Python和配置环境 1.配置Python 1.1 下载Python(直接去官网下载就可以) 1.2 安装Python(点解默认安装即可 ...
- canvas用2d渲染出3d的感觉
好久没有写博客了,深究动画其实也就是setTimeout setInterval requestAnimationFrame很多人可能不熟悉requestAnimationFrame但是事实上和set ...
- zoj2562 反素数
/* 这题1 <= n <= 1016,暴力肯定是TLM,所以看了大牛求解小于N的反素数的算法,思路大致是这样的: 性质1:一个反素数的质因子一定是从2开始的若干个连续质数. 因此可以枚举 ...
- java并发系列(八)-----java异步编程
同步计算与异步计算 从多个任务的角度来看,任务是可以串行执行的,也可以是并发执行的.从单个任务的角度来看,任务的执行方式可以是同步的,也可以是异步的. Runnable.Callable.Future ...
- history-之前发生了什么
查看一下之前服务器上执行过的命令.看一下总是没错的,加上前面看的谁登录过的信息,应该有点用.另外作为admin要注意,不要利用自己的权限去侵犯别人的隐私哦. 到这里先提醒一下,等会你可能会需要更新 H ...
- c++中merge的操作
merge:将两个有序序列合并成一个新的序列,并对新的序列排序 所在库:<algorithm> 注意:排序规则必须和原序列规则相同.存储时下标从0开始. 函数参数:merge(first1 ...
- NYoj 155最短路
//dij #include<stdio.h> #include<string.h> #include<queue> using namespace std; #d ...
- SSH 相关基础
检查是否安装: sudo apt-cache policy openssh-client sudo apt-cache policy openssh-server 也可直接用 sudo apt-ca ...
- python中接受任意关键字的参数
1.*args args是非关键字参数,可以理解为形参,为了方便记忆我理解它是arguments的缩写. 2.*kwargs kwargs是键值对参数,为了方便记忆我理解它是key word argu ...
- Collection Iterator 迭代器
Collection c=new ArrayList(); c.add(123); //迭代器遍历集合 Iterator i=c.Iterator(); while(i.hasNext()) { Sy ...