C 運算子及優先順序

2021-10-07 23:46:10 字數 1132 閱讀 3285

一、cout實現輸出其他進製

cout<(a) << endl;

// 輸出16進製制, setbase(int)可以設定8等。

cout << setbase(16) << i << endl;

二、前字尾運算

字首運算是「先變後用」

字尾運算是「先用後變」

三、位運算子

1、位操作符使用整型的運算元,位操作符將其整型操作視為二進位制位的集合,為每一位提供檢驗和設定功能。

操作符功能

單雙目用法

&按位與

雙目運算子

expr1& expr2

按位或雙目運算子

^按位異或

雙目運算子

expr1^ expr2~取反

單目運算子

~expr1

<<

左移雙目運算子

expr1 <>>

右移雙目運算子

expr1 >>expr2

四、按位操作的乙個技巧

使用異或實現交換兩個值,並且不使用第三方變數

a = a^b;

b = a^b;

a = a^b;

五、移位運算子

型別左移

右移int

低位補零

高位補符號位

unsigned int

低位補零

高位補零

應用:用位移實現計算乙個數的1的個數

int

numberof1

(int n)

return count;

}

六、賦值轉換

記憶體範圍大的傳換為小的,高位捨去,例:int(4byte)轉換為unsigned short(2byte)

short a = 0x1111ffff;//得到的a為0xffff

取值範圍小的賦給範圍大的,符號位擴充套件,例:char轉換為int

chat a = 0xe0;

int b = a;//0xe0為11010000符號位為1,所以b = 0xffffffe0;

注意:unsigned short a;//a 的最大值為65536.當記憶體溢位時,計算a的值為a%65536,即迴圈從頭數

運算子優先順序 C 運算子優先順序

c 運算子優先順序 優先順序運算子 描述方向1 scope resolution 範圍解析 left to right 2 suffix postfix increment and decrement 字首 字尾遞增和遞減 function call 函式呼叫 array subscripting ...

運算子 及 運算子優先順序

數 算符 7個 1 為求餘運算子 例如 3 2 1 8 3 2 2 和 為自加1和自減1運算子。3 i 和 i都是加1運算。如 i 和 i 等於 i i 1 i i i i的意義和i i完全不一樣,可以這樣 理解,加 號在前面的先進行加1運算再賦值,加號在 後面 的 先進行賦 值在加1運算。如int...

運算子優先順序 Python 運算子優先順序

python 運算子優先順序 運算子描述 lambda lambda表示式 or布林 或 and布林 與 not x 布林 非 in,not in 成員測試 is,is not 同一性測試 比較 按位或 按位異或 按位與 移位 加法與減法 乘法 除法與取餘 x,x 正負號 x 按位翻轉 指數 x.a...