位运算符和三目运算符

位运算符

运算符含义示例
<<左移5 << 2 = 20 —> 5 * 2^2 = 5 * 4 = 20
>>右移5 >> 1 = 2 —> 5 / 2^1 = 5 / 2 = 2
>>>无符号右移5 >>> 1 = 2—> 5 / 2^1 = 5 / 2 = 2
&与运算(只要有一个为0,运算结果则为0,否则为1)5 & 3 = 1
|或运算(只要有一个为1,运算结果就为1,否则为0)5 | 3 = 7
^异或运算(如果两个数值一样,运算结果就为0,否则为1)5 ^ 3 = 6
~取反运算(了解)~6—>0110 = -7

备注:位运算计算机底层采用的对整数进行二进制运算。

​ 【没有无符号左移位运算符】

三目运算符

​ ?:

三目运算符格式:

​ 布尔类型表达式 ? 真的结果值 : 假的结果值

三目运算符格式:
数据类型 变量名 = 布尔类型表达式 ? 真的结果值 : 假的结果值

计算方式:

​ 如果布尔类型表达式结果是true,三目运算符运算的结果为紧邻?后面的值

​ 如果布尔类型表达式结果是false,三目运算符运算的结果为紧邻:后面的值。

备注:当三目运算符运算参与有其他的运算(如赋值运算),要求三目运算符中的?和:后面的值的【数据类型保持一致】。

If语句和三目运算符的互换

		int num01 = 10;
		int num02 = 20;
         // 定义一个变量,保存num01和num02的最大值
         int c;
         if (num01 > num02) { 
             c = num01;
         } else { 
             c = num02;
         }
		// 上面的语句我们也可以使用三目运算符
         c = num01 > num02 ? num01 : num02;               
    原文作者:guibar
    原文地址: https://blog.csdn.net/guibar/article/details/109633553
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞