「=」 賦值運算子
變數=表示式 如:a=3;將a的值賦為3
「/=」 除后賦值
變數/=表示式 如:a/=3;即a=a/3
"= "乘後賦值
變數*=表示式 如:a*=3;即a=a*3
「%=」 取餘後賦值
變數%=表示式 如:a%=3;即a=a%3
「+=」 加後賦值
變數+=表示式 如:a+=3;即a=a+3
「-=」 減後賦值
變數-=表示式 如:a-=3;即a=a-3
「<<=」 左移後賦值
變數<<=表示式 左移就是將《左邊的數的二進位制各位全部左移若干位,《右邊的數指定移動位數,高位丟棄,低位補0, 移幾位就相當於乘以2的幾次方
「>>=」 右移後賦值
變數》=表示式 右移運算子是用來將乙個數的各二進位制位右移若干位,移動的位數由右運算元指定(右運算元必須是非負值),移到右端的低位被捨棄,對於無符號數,高位補0。對於有符號數,某些機器將對左邊空出的部分用符號位填補(即「算術移位」),而另一些機器則對左邊空出的部分用0填補(即「邏輯移位」)。
注意:對無符號數,右移時左邊高位移入0;對於有符號的值,如果原來符號位為0(該數為正),則左邊也是移入0。如果符號位原來為1(即負數),則左邊移入0還是1,要取決於所用的計算機系統。有的系統移入0,有的系統移入1。移入0的稱為「邏輯移位」,即簡單移位;移入1的稱為「算術移位」。
「&=」 按位與後賦值
變數&=表示式 按位與是指:參加運算的兩個資料,按二進位制位進行「與」運算。如果兩個相應的二進位制位都為1,則該位的結果值為1;否則為0。這裡的1可以理解為邏輯中的true,0可以理解為邏輯中的false。按位與其實與邏輯上「與」的運算規則一致。邏輯上的「與」,要求運算數全真,結果才為真。若,a=true,b=true,則a∩b=true
「^=」 按位異或後賦值
變數^=表示式 參與運算的兩個量按照對應的位進行異或運算,且
0^0→0, 0^1→1, 1^0→1, 1^1→0
此外,乙個數與0異或仍保持不變,即a^0=a
乙個數與自己異或結果為0,即a^a=0
|= 按位或後賦值
變數|=表示式 參與運算的兩個量按照對應位進行或運算,且0|0→0, 0|1→1, 1|0→1, 1|1→1
注意
多重賦值表示式不能出現在變數說明中。例如:
int i=j=0;
是非法的。
例:有變數說明
int a=2,b;
指出下面表示式運算後a和b的結果。
b+=b=++a;
答:a為3,b為6。
<> 有時將賦值運算與比較運算結合在一起形成嵌入賦值。例如:
while ((ch=getchar())!=』\n』);
這條語句的含義是:等待使用者按下回車鍵後程式向下執行。
x = y+8等價於x=x(y+8),不等價於 x = x*y+8。
同樣:z &= y-x等價於z = z & (y-x),而不等價於z = z &y -x。
Python運算子 賦值運算子
賦值運算子與算數運算子有這個密不可分的關係,可以理解成是算數運算子在某種特定情況下的一種簡寫賦值運算子 說明舉例 展開形式 對應算數運算子寫法 簡單賦值運算子 x y x y 加賦值 也讀加等於 x y x x y 加賦值 也讀減等於 x y x x y 乘賦值 也讀乘等於 x y x x y 除賦...
賦值運算子
賦值運算子函式 include stdafx.h include class cmystring cmystring cmystring char pdata else cmystring cmystring const cmystring str cmystring cmystring cmyst...
賦值運算子
a 等 b 叫做賦值運算子,也是最基本的賦值運算子 int x 10 把10賦值給int型別的變數x。c 擴充套件的賦值運算子的特點 隱含了自動強制轉換。面試題 short s 1 s s 1 short s 1 s 1 請問上面的 哪個有問題?3 比較運算子 a b 無論運算子兩端簡單還是複雜最終...