C位置運算暈了

2022-06-10 18:16:51 字數 615 閱讀 9203

1樓:

b++ & a<=30 解析開是這樣的(因數字不大,以1位元組為例):

由於<=的優先順序比&高,所以b++ & a<=30 與b++ & (a<=30)等價。

a=10,a<=30成立,即a<=30=1(bool值);

∵b++後置增1符,∴要等b++ & a<=30運算完成後才執行增1運算,故:b++ & a<=30 等價於b & 1,亦即11100111(-25的補碼) & 00000001 = 00000001 = 1,即「真」。最後執行b++,使b從-25變為-24。

完畢。-24在機內肯定是補碼。機內的所有整數無論正負都是補碼。-24的補碼是11101000。

供參考……

2樓:殷安奇

這些都可以在書中找到答案,但在visual c++和turb c環境下,執行結果會有不同,vc中i

3樓:匿名使用者

b++&a<=30

=-24&1

=1[-24]原=1000 0000 0001 1000[-24]補=1111 1111 1110 1000

C語言運算子C語言運算子是怎麼運算的

內容來自使用者 wjian178 e68a84e8a2ad62616964757a686964616f31333433646432 1級優先順序 左結合 圓括號 下標運算子 指向結構體成員運算子 結構體成員運算子。2級優先順序 右結合 邏輯非運算子 按位取反運算子 字首增量運算子 字首減量運算子 正...

c 的運算子取模是怎麼運算,c 的取模運算怎麼做?

1 c 語言中的加法運算子和 減法運算子,和普通的數 算符是一樣的。2 執行程式,可以看到加減法運算的結果與普通數 算得到的值相同。3 乘法運算的算術運算子,在c 中是公尺字型大小 4 執行程式,用公尺字型大小運算兩個變數,得到的結果與普通數學的乘法運算相同。5 除法算術運算子,在c 語言中,是斜槓...

c語言(冪)運算子,C語言 (冪)運算子

運算子是 按位異或 1 異或是乙個數 算符。他應用於邏輯運算。2 例如 真異或假的結果是真,假異或真的結果也是真,真異或真的結果是假,假異或假的結果是假。就是說兩個值不相同,則異或結果為真。反之,為假。3 在計算機應用中,普遍運用,異或的邏輯符號 shift 6 形象表示為 真 假 真 假 真 真 ...