c 位移運算子

2022-02-21 06:16:00 字數 1025 閱讀 8158

左移運算子(<<)

將第乙個運算元向左移動第二個運算元指定的位數,空出的位置補0。例如:1100100<<2=110010000,1100100左移兩位後為 1100100口口,補0後為110010000。

右移運算子(<<)

將第乙個運算元向右移動第二個運算元所指定的位數,空出的位置補0。例如:1100100>>2=0011001,1100100右移兩位後為 口口11001,補0後為0011001。

比較有意思的東西

10進製中左移一位相當於是新增乙個0,即擴大了10的一次方倍,左移兩位則是新增兩個0,即擴大了10的二次方倍;同理,2進製左移一位也是新增了乙個0,即擴大了2的一次方倍,左移兩位則是新增兩個0,擴大了2的二次方倍,那麼就有下邊的關係:

n<<1,相當於 n*2

n<<2,相當於 n*4

n<<3,相當於 n*8

n<<4,相當於 n*16

同理,右移則表述為:

n>>1,相當於 n/2

n>>2,相當於 n/4

n>>3,相當於 n/8

n>>4,相當於 n/16

/************************************華麗麗的分界線********************************************/

c#運算子 「&」

& 計算運算元的邏輯按位「與」。對於bool運算元,& 計算運算元的邏輯「與」;也就是說,當且僅當兩個運算元均為true時,結果才為true

例如:0xf8 & 0x3f     得出結果為0x38

計算步驟

0xf8的二進位制為11111000

0x3f的二進位制為00111111

兩個相&後    為00111000  轉為十六進製制為 0x38

【1&1=1      1&0=0         0&0=0】

此&理解僅為個人理解 若有錯 歡迎提出 但請勿批....

位移運算子

位移運算子 直接操作二進位制數,運算速率更快。按位非 not 把1變成0,把0變成1 超出運算範圍,變成負數 var a 25 var b a b 25的 二進位制數 00000000000011001 轉化後 11111111111100010 結果為 26 總結非運算 乙個數與自身的取反值相加等...

java 位移運算子

import org.junit.test 1 左移運算子 2 右移運算子 測試正數 3 右移運算子 測試負數 4 無符號右移 測試正數 5 無符號右移 測試負數 public class weiyitest 右移運算子 測試正數 1010001001 test public void test2 ...

Java位移運算子原理

總體概念 1.位移運算子只對位進行操作 2.只能操作int整型資料型別 3.右移補高位,左移補底位 有正負之分的右位移運算子,把位元組向右移由右邊運算元指定的位數,如果左邊運算元是正數,則移動的高位補0 反之則補1 無符號之分的右移運算子,即不管左邊運算元的正負,高位都補0 左移運算子,向左移動由右...