1樓:
a&=b的意思是a=a&b,a和b位運算相「與」後賦給a。
類似的還有:a+=b,a-=b.a*=b,a/=b,a<<=b,a>>=b,a^=b,a|=b,a%=b,跟上面的意思一樣。
你儘管放心我的答案吧,我是照著教科書寫的。
2樓:匿名使用者
只聽說過+= -= /= *=沒聽說過&=
在c語言中11種賦值運算子的具體含義,用法?
3樓:木子青耶
1.六個變數=表示式的賦值:
=是賦值運算子,/=是除後賦值,*=是乘後賦值,
%=是取模後賦值,+=是加後賦值,-= 是減後賦值,
2.<<=是左移後賦值,變數<<=表示式 左移就是將左邊的數的二進位制各位全部左移若干位,右邊的數指定移動位數,高位丟棄,低位補0, 移幾位就相當於乘以2的幾次方。
3.>>=是右移後,變數》=表示式,右移運算子是用來將一個數的各二進位制位右移若干位,移動的位數由右運算元指定(右運算元必須是非負值),移到右端的低位被捨棄,對於無符號數,高位補0。
對於有符號數,某些機器將對左邊空出的部分用符號位填補(即「算術移位」),而另一些機器則對左邊空出的部分用0填補(即「邏輯移位」);
對無符號數,右移時左邊高位移入0;對於有符號的值,如果原來符號位為0(該數為正),則左邊也是移入0。
如果符號位原來為1(即負數),則左邊移入0還是1,要取決於所用的計算機系統,系統移入0或系統移入1。
移入0的稱為「邏輯移位」,即簡單移位;移入1的稱為「算術移位」。
4.&= 按位與後,變數&=表示式,按位與是指:參加運算的兩個資料,按二進位制位進行「與」運算。
如果兩個相應的二進位制位都為1,則該位的結果值為1;否則為0。
5.^= 按位異或後賦值,變數^=表示式,參與運算的兩個量按照對應的位進行異或運算,且
0^0→0, 0^1→1, 1^0→1, 1^1→0
一個數與0異或仍保持不變,如a^0=a
一個數與自己異或結果為0,如a^a=0
11.|=是按位或後賦值,變數|=表示式,參與運算的兩個量按照對應位進行或運算,且0|0→0, 0|1→1, 1|0→1, 1|1→1。
4樓:逍遙子家
1、= 賦值運算子:變數=表示式,如:a=3,將a的值賦為3;
2、/= 除後賦值:變數/=表示式,如:a/=3,即a=a/3;
3、*= 乘後賦值:變數*=表示式,如:a*=3,即a=a*3;
4、%= 取模後賦值:變數%=表示式,如:a%=3,即a=a%3;
5、+= 加後賦值:變數+=表示式,如:a+=3,即a=a+3;
6、-= 減後賦值:變數-=表示式,如:a-=3,即a=a-3;
7、<<= 左移後賦值: 變數<<=表示式,左移就是將《左邊的數的二進位制各位全部左移若干位,《右邊的數指定移動位數,高位丟棄,低位補0, 移幾位就相當於乘以2的幾次方;
8、>>= 右移後賦值:變數》=表示式,右移運算子是用來將一個數的各二進位制位右移若干位,移動的位數由右運算元指定(右運算元必須是非負值),移到右端的低位被捨棄,對於無符號數,高位補0;
對於有符號數,某些機器將對左邊空出的部分用符號位填補(即「算術移位」),而另一些機器則對左邊空出的部分用0填補(即「邏輯移位」);
9、&= 按位與後賦值:變數&=表示式,按位與是指參加運算的兩個資料,按二進位制位進行「與」運算。如果兩個相應的二進位制位都為1,則該位的結果值為1,否則為0;
10、^= 按位異或後賦值:變數^=表示式,參與運算的兩個量按照對應的位進行異或運算,且0^0→0、0^1→1、 1^0→1、 1^1→0。此外,一個數與0異或仍保持不變,即a^0=a,一個數與自己異或結果為0,即a^a=0;
11、|= 按位或後賦值: 變數|=表示式,參與運算的兩個量按照對應位進行或運算,且
0|0→0、0|1→1、1|0→1、1|1→1。
簡單的最常用的運算子是「=」,它的作用是將一個表示式的值賦給一個左值,一個表示式或者是一個左值,或者是一個右值。所謂左值是指一個能用於賦值運算左邊的表示式,左值必須能夠被修改,不能是常量。一般用變數作左值,指標和引用也可以作左值。
在基本賦值運算子之外,還有適合於所有二元算術和字串運算子的"組和運算子",這樣可以在一個表示式中使用它的值並把表示式的結果賦給它,例如: <?php。
c語言賦值運算子的結合方向是自右向左嗎?
5樓:匿名使用者
賦值運算bai符是自右向左結合的。
du以如下**為例zhi:
int a = 1,b=2,c=3;
a=b=c;
printf("%d,%d,%d\n", a,b,c);
如果賦dao值運算為自內
左向右,那麼執行順
容序為a = b = 2;
b = c = 3;
結果a = 2, b=3, c = 3。
將輸出2,3,3
如果賦值運算為自右向左,那麼執行順序為
b = c = 3;
a = b = 3;
結果a = 3, b=3, c = 3。
將輸出3,3,3
通過實際執行,結果為3,3,3。說明結合方向是自右向左的。
賦值運算子的意思
6樓:學雅思
賦值運算子的意思是將運算子右側的物件或者數值傳遞給左側的物件或者變數。
基本的賦值運算子是「=」。一開始可能會以為它是「等於」,其實不是的。它實際上意味著把右邊表示式的值賦給左邊的運算數。
賦值運算表示式的值也就是所賦的值。也就是說,「$a = 3」的值是 3。
擴充套件資料賦值運算將原變數的值拷貝到新變數中(傳值賦值),所以改變其中一個並不影響另一個。這也適合於在很密集的迴圈中拷貝一些值例如大陣列。
1、= 賦值運算子:變數=表示式如:a=3;將a的值賦為32、/= 除後賦值:
變數/=表示式 如:a/=3;即a=a/33、*= 乘後賦值:變數*=表示式 如:
a*=3;即a=a*34、%= 取餘後賦值:變數%=表示式 如:a%=3;即a=a%35、+= 加後賦值:
變數+=表示式 如:a+=3;即a=a+36:-= 減後賦值:
變數-=表示式 如:a-=3;即a=a-3
7樓:哇哎西西
1、= 賦值運算子:變數=表示式,如:a=3,將a的值賦為3;
2、/= 除後賦值:變數/=表示式,如:a/=3,即a=a/3;
3、*= 乘後賦值:變數*=表示式,如:a*=3,即a=a*3;
4、%= 取模後賦值:變數%=表示式,如:a%=3,即a=a%3;
5、+= 加後賦值:變數+=表示式,如:a+=3,即a=a+3;
6、-= 減後賦值:變數-=表示式,如:a-=3,即a=a-3。
8樓:匿名使用者
a+=b 等同於 a = a+b
a-=b 等同於 a = a-b
a*=b 等同於 a = a*b
a/=b 等同於 a = a/b
a%=b 等同於 a = a%b
a&=b 等同於 a = a&b &表示按位與a>>=b 等同於 a = a>>b >>表示右移a<<=b 等同於 a = a<
一開始可能會以為它是「等於」,其實不是的。它的作用是將一個表示式的值賦給一個左值。一個表示式或者是一個左值,或者是一個右值。
所謂左值是指一個能用於賦值運算左邊的表示式。左值必須能夠被修改,不能是常量。我們現在是用變數作左值,以後還可以看到,指標和引用也可以作左值。
複合的賦值運算子,又稱為帶有運算的賦值運算子,也叫賦值縮寫。
例如:i=i+j;可表示為 i+=j;這裡+=是複合賦值運算子。
同樣的共有10種這樣的運算子,它們是:
+= 加賦值;
-= 減賦值;
*= 乘賦值;
/= 除賦值;
%= 求餘賦值;
&= 按位與賦值;
| = 按位或賦值;
^= 按位異或賦值;
<<= 左移位賦值;
>>= 右移位賦值。
9樓:匿名使用者
是將=後的數字與前面進行運算後複製給前面的變數a+=b相當於a=a+b的意思
至於複合位運算子也是一樣的,資料進行與或非後進行賦值!
c語言,位符合賦值運算子, <<=,>>=,&=,^=,!=, 分別什麼含義啊?
10樓:
1.= 賦值運算子 變數
=表示式 如:a=3;將a的值賦為3
2./= 除後賦值 變數/=表示式 如:a/=3;即a=a/3
3.*= 乘後賦值 變數*=表示式 如:a*=3;即a=a*3
4.%= 取模後賦值 變數%=表示式 如:a%=3;即a=a%3
5.+= 加後賦值 變數+=表示式 如:a+=3;即a=a+3
6.-= 減後賦值 變數-=表示式 如:a-=3;即a=a-3
7.<<= 左移後賦值 變數<<=表示式 左移就是將《左邊的數的二進位制各位全部左移若干位,《右邊的數指定移動位數,高位丟棄,低位補0, 移幾位就相當於乘以2的幾次方
8.>>= 右移後賦值 變數》=表示式 右移運算子是用來將一個數的各二進位制位右移若干位,移動的位數由右運算元指定(右運算元必須是非負值),移到右端的低位被捨棄,對於無符號數,高位補0。對於有符號數,某些機器將對左邊空出的部分用符號位填補(即「算術移位」),而另一些機器則對左邊空出的部分用0填補(即「邏輯移位」)。
注意:對無符號數,右移時左邊高位移入0;對於有符號的值,如果原來符號位為0(該數為正),則左邊也是移入0。如果符號位原來為1(即負數),則左邊移入0還是1,要取決於所用的計算機系統。
有的系統移入0,有的
系統移入1。移入0的稱為「邏輯移位」,即簡單移位;移入1的稱為「算術移位」。
9.&= 按位與後賦值 變數&=表示式 按位與是指:參加運算的兩個資料,按二進位制位進行「與」運算。
如果兩個相應的二進位制位都為1,則該位的結果值為1;否則為0。這裡的1可以理解為邏輯中的true,0可以理解為邏輯中的false。按位與其實與邏輯上「與」的運算規則一致。
邏輯上的「與」,要求運算數全真,結果才為真。若,a=true,b=true,則a∩b=true
10. ^= 按位異或後賦值 變數^=表示式 參與運算的兩個量按照對應的位進行異或運算,且
0^0→0, 0^1→1, 1^0→1, 1^1→0
此外,一個數與0異或仍保持不變,即a^0=a
一個數與自己異或結果為0,即a^a=0
11.|= 按位或後賦值 變數|=表示式 參與運算的兩個量按照對應位進行或運算,且
0|0→0, 0|1→1, 1|0→1, 1|1→1
這些位運算都是與二進位制碼有關的,所以多弄弄也就會了
C語言中都有哪些運算子,c語言中有哪些運算子,各有什麼功能?
加來 減 乘 除 取餘 小於 大於 大於等於自 等於 不等於 與 bai 或 非du 按拉與 按位或 賦值 自增 自減zhi 條件運算子dao 異或 sizeof 複合賦值運算子 分組 左移 右移 按位取反 有時一般分為 單目運算子 雙目運算子 條件運算子 賦值運算子 逗號運算行 大體上分為這些,希...
C語言中的運算子條件運算子運算過程的講解
z x 1 y 1,y x 5 x 7,y 3 這句主要的有 du2個運zhi算符 dao,一個條件運算子 一個賦內值運算子 z 優先順序是條件運算子比容較高,可以轉換成 z x 1 y 1,y x 5 x 7,y 3 條件運算子 計算 前面表示式,為真返回冒號前面的,為假返回冒號後面的。因為 x ...
在c的複合賦值運算子中的,在c的複合賦值運算子中的。分別是什麼意思阿?
舉個例子說明吧,如 i 2,就相當於 i i 2,因此你所述的運算子都可以這麼理解和學習。c 中,a b什麼意思?c 中,a b的意思是a b後再賦值給a,即效果等同於a a b,但是從運算角度只算1次運算,是c 中一個複合運算子。在賦值運算子當中,還有一類c c 獨有的複合賦值運算子。它們實際上是...