各類運算子和計算方法,優先順序
1.關係運算子:<,>,<=,>=,==,!=
算術運算子>關係運算子>邏輯運算子(&&、||)
運算結果為bool型:true,false
邏輯運算子:&&(邏輯與)、||(邏輯或)、!(邏輯非)
運算子結果為bool型:true,false
&&(並且):同真為真,否則為假.先算前面的式子,前面的式子為假,後面式子不參與運算
||(或者):同假為假,否則為真,先算前面的式子,前面的式子為真,後面式子不參與運算
!:真則為假,假則為真
?:條件運算子;
a?b:c a為真,結果為b,否則為c
//條件運算子:大寫變小寫,小寫變大寫
char c;
cout<<"請鍵盤中輸入一個字母"<<endl;
cin>>c;
c=c >= 'A' && c <= 'Z' ?c+('a'-'A'):c+('A'-'a');
cout<<"c="<<endl;
3.位運算:2進位制補碼的形式參與運算
計算機中資料都是以補碼的形式儲存的。
原碼:最高位表示符號位,其他位表示大小
反碼:正數的反碼與原碼相同,負數:符號位不變,其他按位取反
補碼:正數的補碼與原碼相同,負數:反碼+1
補碼的補碼就是原碼
步驟:
1.轉換成2進位制的原碼
2.原碼轉換成補碼
3.進行位運算
4.位運算的結果(補碼)轉換成原碼
2進位制轉換成10進位制
~:按位非,1變0,0變1.
<<左移:低位補0;
>>右移:正數高位補0,負數高位補1;
&(按位與):同1為1,否則為0;
^(按位異或):同則為0,異則為1;
|(按位或):有1為1,否則為0;
int main()
{
int m=5;
m=~m;
/*
1.5轉換成2進位制原碼 00000101
2.5的原碼轉換成補碼:00000101
3.~的計算: 11111010(補碼)
4.運算結果轉換成反碼(負數):10000101
5.反碼轉補碼+1: 10000110
6.轉換成10進位制: -6
*/
m=m<<3;
/*
1.-6轉換成2進位制原碼: 10000110
2.-6的原碼轉換成反碼: 11111001
3.-6的反碼轉換成補碼: 11111010
4.<<3的計算: 11010000(補碼)
5.運算結果轉換成反碼: 10101111
6.反碼轉補碼+1: 10110000
7.轉換成10進位制: -48
*/
a=a<<5;//看成是該數*2的5次方倍(結果注意資料溢位)
a=a&b;
/*
1.a和b轉換成2進位制原碼: 11000000 00010010
2.a和b的原碼轉換成反碼: 10111111 00010010
3.a和b的反碼轉換成補碼: 11000000 00010010
4.a&b的計算: 11000000
& 00010010
00000000(補碼)
5.運算結果轉換成反碼: 00000000
6.反碼轉補碼+1: 00000000
7.轉換成10進位制: 0
*/
運算子:算術運算子、自加自減、
賦值運算子(左邊必須是變數):=,+=,*=
a/=b+2;等價於a=a/(b+2)
逗號運算子:,
//逗號表示式:由逗號運算子組成的式子:從左往右依次計算,最後一個表示式的值,就是整個逗號表示式的值
int x=(m-=n,m+n,++m,m+5,n++,m-n);
強轉運算子:(型別)
//強轉運算子
x=(int)3.4+6.6;
相關文章
- java運算子優先順序Java
- php運算子優先順序PHP
- Python 運算子優先順序 運算子Python
- python運算子及優先順序順序Python
- C++運算子優先順序C++
- java字串連線和運算子優先順序Java字串
- C 語言運算子優先順序
- C語言運算子優先順序C語言
- JS與&& 或||運算子 優先順序JS
- C++運算子優先順序特例C++
- C++ 運算子優先順序表C++
- 介紹python中運算子優先順序Python
- [java基礎] 之 表示式和運算子的優先順序Java
- JavaScript陰溝裡翻船之運算子優先順序JavaScript
- Like Sunday, Like Rain - JavaScript運算子優先順序AIJavaScript
- ORACLE中sql語句----運算子的優先順序OracleSQL
- oracle plsql儲存過程_運算子優先順序OracleSQL儲存過程
- VBA運算子的型別及優先順序(轉)型別
- 程式設計答疑:記不住運算子優先順序怎麼辦?程式設計
- 面試題:物件的儲存形式 和 . 運算子的優先順序面試題物件
- C語言常被搞錯的運算子優先順序C語言
- Java常見知識點彙總(⑤)——運算子優先順序Java
- lodash原始碼分析之baseFindIndex中的運算子優先順序原始碼Index
- js運算子優先順序及賦值運算var a = {n:1};var b = a;a.x = a = {n:2};JS賦值
- C++ 運算子優先順序列表C++
- Solidity語言學習筆記————8、運算子優先順序Solid筆記
- javascript基礎(賦值運算子,關係運算子,相等運算子,三元運算子,運算子的優先順序,程式碼塊)(十)JavaScript賦值
- 運算子的關係,什麼叫一元運算子,二元運算子,三元運算子,運算子優先順序,以及運算子的
- 如果你不懂js運算子優先順序,那絕對不是js高手。JS
- CSS優先順序CSS
- css 選擇器優先順序的計算過程CSS
- JavaScript運算子及優先順序全攻略,點選立刻升級你的程式設計水平!JavaScript程式設計
- html優先順序和層疊性HTML
- 中斷優先順序
- css樣式分類、定義、優先順序CSS
- C語言運算子優先順序列表(超詳細)C語言
- [JAVA] 不僅有Java運算子,更有優先順序講解,可以說很詳細了Java
- HttpClient和HttpGet 引數的優先順序HTTPclient