請問右移》與右移賦值》有什麼區別嗎

2022-11-19 02:55:16 字數 2695 閱讀 5990

1樓:匿名使用者

1全部有區別 ,我給你舉一個最簡單的例子 你就看出來了

a>>2 跟 a>>=2 這兩個執行後 ,第一個a的值沒變, 而第二個a 的值是 將a右移兩位後 再重新給a賦值, 所以就有區別了 , 區別就在於 第二個是複合運算子, 它裡面有個賦值的操作

2樓:

有區別,就和+,+=一樣,你可以 a=b>>5;但b的值沒有變,如果使用b>>=5,那麼b的值就變了,變成和前面的a一樣了,b>>=5這個過程,你可以簡單理解為編譯器新建了一箇中間變數temp,然後temp=b>>5,b=temp;

3樓:招鵬鯨清可

區別大了去了,前者巨集定義標誌著在這著程式中pi的值無法改變;而後者賦值則是可以在程式中根據自己的需要給於適當的改變pi的值如:「pi=3.14;」,且這種改變是可行有效的,不像前者即使你在程式中改變pi的值也是無效的。

你可以試試!

4樓:歐洲在哪

(1)a >>= b; 等價於 (2) a=a>>b

區別就在於 (1)更簡潔 但不夠直觀, (2)較為繁瑣 但直觀

<<= 左移位賦值 >>= 右移位賦值,怎麼使用?

5樓:高階局

要先將這個數換算成2進位制的數,然後再進行移位。

i = 2;//二進位制表示為10。

i << = 1;//表示i 左移一位。現在為100。

所以現在i = 4。

6樓:匿名使用者

i = 2;

i <<= 1;//i為4

i >>= 2;//i為1

左移位賦值與右移位賦值有何計算規律?

7樓:

左移一位等於乘2,右移一位等於除2。

左移2位等於乘2的2次方,右移一位等於除2的2次方。

左移n位等於乘2的n次方,右移一位等於除2的n次方。

例如:0000 1100 -- 10進位制12左移一位 0001 1000 -- 10進位制24右移一位 0000 0110 -- 10進位制6

8樓:雨落深山

b <<= a; 等價於 b = b << a;

b >>= a; 等價於 b = b >> a;

c++ 右移運算子 m>>1和m>>=1的區別

9樓:匿名使用者

m >> 1; // 是指把 m這個數右移一位,得到結果,當時不改變 m本身。

m >>= 1; // 是指把 m這個數右移一位,得到結果,並把結果賦值給 m 因此 m 的值被改變

c程式中,左移「<<」、右移「>>」 的具體用法是什麼?

10樓:匿名使用者

c語言中,「

<<」為左移運算子,「>>」為右移運算子。

具體使用方法如下:

1、左移運算子(<<)

將一個運算物件的各二進位制位全部左移若干位(左邊的二進位制位丟棄,右邊補0)。

例:a = a << 2 將a的二進位制位左移2位,右補0,左移1位後a = a * 2;

若左移時捨棄的高位不包含1,則每左移一位,相當於該數乘以2。

2、右移運算子(>>)

將一個數的各二進位制位全部右移若干位,正數左補0,負數左補1,右邊丟棄。

運算元每右移一位,相當於該數除以2。

例如:a = a >> 2 將a的二進位制位右移2位。

左補0 or 補1 得看被移數是正還是負。

11樓:匿名使用者

這是兩個位操作運算,是對引數二進位制方式的位移,移動後,空出的位用0補上。例如:

0111 0101 b << 2 :對這個數左移二位後:1101 0100 b;

再如:5 << 3 :先轉換成二進位制:0000 0101 b << 3 = 0010 1000 b = 0x28

微控制器程式中>>=右移位賦值運算子起什麼作用

12樓:匿名使用者

要判斷、或要使用資料中的某些位的時候,就用到了,,,,,,,還很常用的 ~ ~ ~ ~ ~

j**a 中右移>>和邏輯右移>>的左運算元怎麼運算的

13樓:

0xa2 16進位制,對應的十進位制是162,對應的二進位制是10100010(32位,前面的0不顯示)

10100010>>>2 = 00101000 這個正好是十進位制的40

(byte) 0xa2 由於byte的最大值是127,所以byte162要取模,結果是-94,對應的二進位制是:11111111111111111111111110100010

11111111111111111111111110100010 >> 2 = 11111111111111111111111111101000,即十進位制-24

>>和》的區別是:

>> 帶符號右移,高位補充符號,正0負1

>>>不帶符號右移,高位補充正0

有上面的記過得知,(byte) 0xa2 = -24這是個負數

所以(byte) 0xa2>>>2會很大

14樓:匿名使用者

建議 要按2進位制去看

巨集定義與直接賦值有什麼區別,C語言中巨集定義的10和直接定義1有什麼區別

巨集定義 定義的是常量符號。直接賦值,賦給的是變數符號。巨集定義是預處理是完成的,本質是字元替換 直接賦值是記憶體上的操作版,與執行時有關 權 include define iii int int main void 想這個c語言 中,巨集定義iii,那麼它的下面就可以用iii來代表int,在編譯處...

愛與不愛有什麼區別,愛與不愛有區別嗎?

相同!都要生活,不相同,有伴侶,和沒伴侶 愛你可以為你付出一切一切不愛都不會理會你 面對你心愛的人,你的心跳會加速。然而面對喜歡的人,你只會興高采烈!面對你心愛的人,冬天就像是春天。然而面對喜歡的人,冬天是個美麗的季節!假如你凝視的是心愛的人,你會臉紅!假如你凝視的是喜歡的人,你會微笑!面對心愛的人...

模版與有什麼區別,模版與模板有什麼區別?

模 m 版 用於複製的規範版本。模 m 板 澆灌混凝土工程時定型用的板子,一般用竹木料或鋼材製成。1 模板 用一定的規範,標準使物體成固定型狀的模具。如指施工時澆築混凝土用的成組模型板,或者是鑄造時放模型和砂箱用的模具,一般是實體性。可以這樣理解,模具是由條形物板材製成的,組詞用板。2 模版 比較虛...