C++ 中"||"和"|"和"&&"和"&"这些符号在if语句中都代表什么?
"||"代表逻辑或,两个布尔值中任何一个值为TRUE(或者两个都为TRUE),则返回值为TRUE。如果两个运算符都是FALSE,则返回值为FALSE。
"|"代表或,参加运算的两个数据,按二进制位进行“或”运算。运算规则:0&0=0;0&1=1;1&0=1;1&1=1。即:只要对应的二个二进位有一个为1时,结果位就为1。
“&&”代表逻辑与,只有两个操作数都是真,结果才是真。 对于逻辑与操作而言,如果第一个操作数是假,则无论第二个操作数是什么值,结果都不可能是真,相当于短路了右边。
“&”代表与,参加运算的两个数据,按二进制位进行“与”运算。运算规则:0&0=0;0&1=0;1&0=0;1&1=1。即:两位同时为“1”,结果才为“1”,否则为0。
扩展资料:
逻辑“或”运算符的操作数不需要是同一类型,但是它们必须是整型或指针类型。在计算之前隐式转换为类型bool,结果的类型为bool。两个操作数可以是变量、常量和表达式。第一个操作数将完全计算,并且在继续计算逻辑“或”表达式之前将完成所有副作用。
对于|来说,如果左侧条件为true,也会计算右侧条件的值,而对于||来说,如果左侧的条件为true,则不计算右侧的条件,这种现象被称作短路现象。所谓短路计算,是指系统从左至右进行逻辑表达式的计算,一旦出现计算结果已经确定的情况,则计算过程即被终止。
Ⅱ:"|" 代表按位或 与||一样不过就是对两个二进制的每位进行或运算 如 0010||0011=0011
Ⅲ:&& 代表与运算 只有当两个中有一个是假的话,表达式的值为0 。如1如:1&&0=0
Ⅳ:"&" 代表按位与 与&&一样不过就是对两个二进制的每位进行与运算 如 0010|&&0011=0010
建议你,最好找本书看看。书上更详细,更透彻。
single 的是 位操作 按位或 与
“|”和“&”是位运算符,代表按位或和按位与
推荐一本: 钱能 C++