c語言關於位運算子的這個怎麼分析艾有點看不

2021-05-17 23:42:05 字數 1578 閱讀 9791

1樓:匿名使用者

這裡都是按位與運算和右移運算子,一個個看, 知道是這樣計算就行了,具體計算是計算機的事情

2樓:4向日葵

程式出自何處?以我看: 沒有功能,就是老師讓學生練習移位操作的,要是微控制器的程式的話可能就有別用的了

3樓:5千零一

把位運算子看懂,就差不多會了。

4樓:匿名使用者

這個程式裡有兩種位運算子:按位與(&)、按位右移(>>)。

先看優先順序,這個程式裡「()」的優先順序最高,「>>」次高,「&」優先順序第3;

位運算子都是按二進位制運算的,所以要先將所有參與位運算的數字轉換為二進位制。

&:只有對應的兩個二進位制位均為1時,結果才為1,否則為0,例如:

010010

& 000110

____________

000010

>>:將運算元右移n位相當於該數除以2的n次方,例如:60>>2=15。

至於實現什麼功能,你自己算出結果來分析吧

c語言中的位運算子中『按位取反』是怎麼運算的,什麼是負數的反碼,請各位幫我解釋一下!!!

5樓:匿名使用者

0001

取反1110

符號位為1,取反+1為

1010

轉化成10進製為

-2正數的原碼,補碼,反碼都相同,都等於它本身負數的補碼是:符號位為1,其餘各位求反,末位加1反碼是:符號位為1,其餘各位求反,但末位不加1也就是說,反碼末位加上1就是補碼

1100110011 原

1011001100 反 除符號位,按位取反1011001101 補 除符號位,按位取反再加1正數的原反補是一樣的

在計算機中,資料是以補碼的形式儲存的:

在n位的機器數中,最高位為符號位,該位為零表示為正,為1表示為負;

其餘n-1位為數值位,各位的值可為0或1。

當真值為正時:原碼、反碼、補碼數值位完全相同;

當真值為負時:

原碼的數值位保持原樣,

反碼的數值位是原碼數值位的各位取反,

補碼則是反碼的最低位加一。

注意符號位不變。

如:若機器數是16位:

十進位制數 17 的原碼、反碼與補碼均為: 0000000000010001

十進位制數-17 的原碼、反碼與補碼分別為:1000000000010001、1111111111101110、1111111111101111

6樓:匿名使用者

按位取反運算子~為單目運算子,具有右結合性。

其功能是對參與運算的數的各二進位按位求反。例如~9的運算為: ~(0000000000001001)結果為:1111111111110110

就像樓上說的「簡單的說: 1變成0 0變成1 」

7樓:匿名使用者

按位取反就是所有位取反。

寫出來就是:

a = ~a;

8樓:匿名使用者

簡單的說: 1變成0 0變成1

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

是除法取餘運算。用於整數與整 數運算。否則,不同的編譯器會得不同結內果。為取餘運算子,容用於把它前面的整數值或表示式除以其後面的整數值或表示式,結果為不能被後面的整數或表示式整除的最小整數,它後面的數值應該為大於1的正整數。如 13 7 就表示13 除以7餘6。作為雙目運算子,左右運算元可以是數值,...

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

9 7 是 1.幾,舍位後不是鐵定是 1嗎?不是的,不能通過舍位來判定,不同的機器結果不同,可能是 1,也可能是 2 什麼叫向上取整 向下取整 向上取整指當計算的結果不為整數時取大於計算結果的整數,向下取整指當計算的結果不為整數時取小於計算結果的整數。當計算結果為整數時直接取整數。計算結果處於兩個整...

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

c語言中 的作用 作為運算子是用來取餘的 運算子 operator 是可以對資料進行相應操作的符號。如對資料求和操作,用加法運算子 求積操作使用乘法運算子 求餘數用運算子 等等 例如 一 25 4 1 25除以4商6餘數是1 二 33 5 3 33除以5商6餘數是3 擴充套件資料 c語言常用的運算子...