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語言常用的運算子...