剛學了一些C 的書上沒見過的符號,記錄一下

2021-07-26 08:25:00 字數 1767 閱讀 9246

一, 《和》:就是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號 執行上乙個指令的...