一, 《和》:就是cout和cin後面的那個,但在這裡並不是說cout和cin後面那個。它們是位左移運算子和右移運算子,它們的作用是把乙個數的二進位制形式向左或向右移動。
舉兩個例子,18(二進位制形式為00010010)<<2 = 72 (二進位制形式為01001000,18的二進位制形式向左移了兩位),77(二進位制形式為1001101)>>3=9(二進位制形式為0001001,77的二進位制形式向右移了兩位)。
其實,說白了,m<>n就是m/(2的n次方),當然,這裡的m,n都是整型變數。另外,這兩個運算子能夠節省時間,在程式優化中這一種方法是十分重要的,例如a*9可用(a<<3)+a代替(注意,"+"運算比"<<"運算優先)。
二,算術與&,算術或|,算術非~,算術異或^:這些是非常重要的二進位制運算子,還是舉例子吧:
25(二進位制為00011001)&19(二進位制為00010011)=17(二進位制為00010001),&運算子就是把兩個整型的二進位制形式逐位比較,只有兩個數某一位都是1,結果的該位才是1,其它的都是0,也就是有0是0,無0是1
25(二進位制形式為00011001) | 19(二進位制形式為00010011) = 27(二進位制形式為00011011),| 運算子就是把兩個整型的二進位制形式逐位比較,只有兩個數某一位都是0,結果的該位才是0,其它的都是1,也就是有1是1,無1是0
~ 19(二進位制形式為00010011) = -20(二進位制形式為10010100),額(⊙﹏⊙),這個看半天沒看懂,反正就是對於乙個十進位制數n, ~n=-n-1
25 (二進位制形式為00011001) ^ 19(二進位制形式為00010011) = 10(00001010),也就是相同為 0,不同為1
三,一些運算子的先後順序(由高到低):
1. ()(小括號) [ ](陣列下標) .(類的成員) ->(指向的類的成員)
2. !(邏輯非) .(位取反) -(負號) ++(自增) --(自減) &(取址)
3. *(指標) sizeof(長度計算)
4. *(乘) /(除) %(取模)
5. +(加) -(減)
6. <<(位左移) >> (位右移)
7. < (小於) <= (小於等於) > (大於) >= (大於等於)
8. == (等於) != (不等於)
9. & (算術與)
10. ^ (算術異或)
11. | (算術或)
12. && (邏輯與)
13. || (邏輯或)
14. ? :
15. = += -=
一些見過的數學定理
數學定理真是多啊 奈何本人又懶於特意尋找,於是乎就把見到的定理一股腦都寫在這吧。也就是說,這篇部落格是會一直更新的,隨著博主見到的題目的豐富。最終會是什麼樣子呢?如果我堅持acm的話,這篇部落格會相當精彩吧,就像我的學習生涯一樣 會是這樣嗎?列個目錄先。中文名 貝蒂定理 內容 設 a b是無理 數,...
shell的一些符號
string string command 輸入輸出重導向 2 2 2 井號 comments 這幾乎是個滿場都有的符號。bin bash 井號也常出現在一行的開頭,或者位於完整指令之後,這類情況表示符號後面的是註解文字,不會被執行。this line is comments.echo a a a ...
shell 一些符號的使用
給你個全的,你在linux環境下多試下就明白了 0 這個程式的執行名字 n 這個程式的第n個引數值,n 1.9 這個程式的所有引數,此選項引數可超過9個。這個程式的引數個數 這個程式的pid 指令碼執行的當前程序id號 執行上乙個背景指令的pid 後台執行的最後乙個程序的程序id號 執行上乙個指令的...