自加自減運算是什么意思 c語言中1什么意思


自加自減運算是什么意思 c語言中1什么意思

文章插圖

①自加自減運算
重點在區分表達式的值和變量的值 。

1.自加運算
++在前 , 先變量+1 , 再表達式 。
++在后 , 先表達式 , 再變量+1 。
i=5
++i…i=6,++i=i=6 。
i++…i++=i=5,i=6 。
即i++的表達式不+1 。

2.自減運算
–在前 , 先變量-1 , 再表達式 。
–在后 , 先表達式 , 再變量-1 。
i=5
–i…i=4,++i=i=4 。
i–…i++=i=5,i=4 。
即i–的表達式不-1 。
【自加自減運算是什么意思 c語言中1什么意思】
②位運算
針對二進制的運算 。

3.按位與(a&b)
相同位都為1則為1 。
已知
00001001=9
00000101=5
求出
00000001=1

4.按位或(a/b)
相同位只要有一個為1就為1 。
已知
00001001=9
00000101=5
求出
00001101=13

5.按位異或(a^b)
相同位不同時為1 , 相同時為0 。
已知
00001001=9
00000101=5
求出
00001100=12

6.左移(a<<b)
已知
00001001=9
求出
00010010=18

7.右移(a>>b)
已知
00001001=9
求出
00000100=4

8.按位取反(~a)
1變0 , 0變1
已知
00001001=9
求出
11110110=246
注意:C語言中首位為1表示負數 , 此處246只是二進制的結果 , C語言結果見下 。

③取反運算a=-(a+1)
9.正數取反
原碼00001001=9
補碼00001001(正數補碼反碼不變 , 9的儲存)
取反11110110
反碼11110101(補碼-1 , 9取反)
原碼10001010=-10(負數以補碼形式儲存)

10.負數取反
原碼10001001=-9
反碼11110110(負數取反符號位不變)
補碼11110111(反碼+1 , -9的儲存)
取反00001000=8(-9取反)
原碼00001000=8(正數補碼儲存不變)