1樓:匿名使用者
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 得看被移數是正還是負。
2樓:匿名使用者
這是兩個位操作運算,是對引數二進位制方式的位移,移動後,空出的位用0補上。例如:
0111 0101 b << 2 :對這個數左移二位後:1101 0100 b;
再如:5 << 3 :先轉換成二進位制:0000 0101 b << 3 = 0010 1000 b = 0x28
c程式中,左移"<<"、右移">>" 的具體用法是什麼
3樓:匿名使用者
首先要知道是二進位制按位移動,且用0補位。比如a=5<<1,就是a等於5左移1位,具體就是先把5換算成二進位制0101,然後所有位左移一位,右邊用0補位,就變成了1010.
4樓:l舊夢顏
<< , >>是移位操作,數字在計算機中儲存為2進製
2 << 1 2的二進位制為10 左移及在10後面加0 變成100,等於4,及整個數字擴大了2倍,右移反之,縮小2倍
5樓:匿名使用者
這是兩個位**ai作運du算,是對引數二進zhi制方式的位移dao,移動後,空出的版
位用0補上。例如:
0111 0101 b << 2 :對這權個數左移二位後:1101 0100 b;
再如:5 << 3 :先轉換成二進位制:0000 0101 b << 3 = 0010 1000 b = 0x28
6樓:匿名使用者
int a=297;
int b=a<<3;就是a左移三位
int c=a>>2;就是右移兩位
c語言中的左移<<和右移>>怎樣運算的
7樓:雲冷宰迎南
移位操作符的兩個運算元必須是整型的。整個移位表示式的值的型別也是整型的,而且,左移位操作符與右移位操作符的運算並不對稱。
8樓:hunter影
左移 是指向左移動
右移 是指向右移動
具體指的是二進位制數平行移動
例如 001101 《2
變化 110100
其他也相同
關於c語言的左移(<<)和右移(>>)
9樓:匿名使用者
左移比較簡單,右邊補0(移幾位就補幾個0),左邊丟掉。
右移比較複雜,右移分兩種:
(1)邏輯右移,左邊補0(移幾位補幾位),右邊移出去的丟掉。
(2)算術右移,左邊補最高位(即原來的最高位是0就補0,是1就補1,因為最高位代表符號,這樣可以保證負數不會變成正數),右邊丟掉。
10樓:我不知道啊啊
可以定義乙個中間變數暫存要被移出去的位,正常移位之後再或上這個中間變數即可~
c語言 左移 右移的問題 << 或 >>
11樓:匿名使用者
左移 右移不會修改a本身
a=ox32 (16進製制) 0011 0010b=a<<2
這個時候b=1100 1000 對
那麼此時a=0011 0010
繼續c=a<<2
請問c是在原來a的初值(ox32)上移動
這個時候c=1100 1000
12樓:圍城
b=a<<2
這個時候b=1100 1000 對!
那麼此時a=0011 0010 沒變
接著c=a<<2
c是在原來a的初值上移動,因為a沒變
c=b=1100 1000
最後c=b=1100 1000
a=0011 0010
13樓:匿名使用者
a << 2 是不影響a 的值的,就像a +1不會把a值加1一樣 。
a << 2只是乙個表示式,返回的是表示式計算得到的值,其中並沒有賦值(『=』)操作啊。
大神能詳細說說,c語言中右移,左移,按位或,是怎麼用的?能給個例子?<< >> ^
14樓:城隍廟街景
int a=1;
a<<=1; // a=2
a>>=1; //a=1
a= a^a; //a=0
15樓:小黑跳大不解釋
這怎麼舉例。。。你有什麼不懂 我告訴你好了
c語言中>>和<<如何使用?
16樓:匿名使用者
c語言中<< 代表左移運算子,>> 代表右移運算子,位移位運算子是將資料看成二進位制數,對其進行向左或向右移動若干位的運算。
<< 代表左移運算子:左移運算子用來將乙個數的各二進位制位全部左移若干位,移動的位數由右運算元指定,右運算元必須是非負值,其右邊空出的位用0填補,高位左移溢位則捨棄該高位。
例如:設無符號短整型變數a為0111(對應二進位制數為0000000100010001),則:a<<3 結果為0888(對應二進位制數為0000100010001000)。
>> 代表右移運算子:右移運算是將乙個二進位制位的運算元按指定移動的位數向右移動,移出位被丟棄,左邊移出的空位或者一律補0,或者補符號位,這由不同的機器而定。在使用補碼作為機器數的機器中,正數的符號位為0,負數的符號位為1。
例如:var temp = 56 >> 2 變數temp的值為 14,因為56 (即二進位制的 00111000)向右移兩位等於 14 (即二進位制的 00001110) 。
17樓:路堯家的顧小言
1、左移運算子(<<):按二進位制形式把所有的數字向左移動對應的位數,高位移出(捨棄),低位的空位補零。
格式:需要移位的數字 << 移位的次數
例如:3<<2
3轉換為二進位制是0011,所有數字左移2個位置,空位補0,得到1100,即十進位制數12。
2、右移運算子(>>):按二進位制把所有的數字向右移動對應位移位數,低位移出(捨棄),高位的空位補符號位(正數補零,負數補1)。
格式:需要移位的數字 >> 移位的次數
例如:11 >> 2
11的二進位制為1011,所有數向右移2個位置,因為11是正數,所以高位補0,得0010,是十進位制的2。
18樓:陳麗芬
c語言中的》和《分別是左移運算子和右移運算子,用於整數在二進位制形式的移位運算。
1、左移運算子(<<)
規則:按二進位制形式把所有的數字向左移動對應的位數,高位移出(捨棄),低位的空位補零。
語法格式:需要移位的數字 << 移位的次數,例如: 3 << 2,則是將數字3左移2位。
數學意義:在數字沒有溢位的前提下,對於正數和負數,左移一位都相當於乘以2的1次方,左移n位就相當於乘以2的n次方。
2、右移運算子(>>)
規則:按二進位制形式把所有的數字向右移動對應位移位數,低位移出(捨棄),高位的空位補符號位,即正數補零,負數補1。
語法格式:需要移位的數字 >> 移位的次數,例如11 >> 2,則是將數字11右移2位。
數學意義:右移一位相當於除2,右移n位相當於除以2的n次方。
擴充套件資料:
一、c語言運算符號的種類
1 算術運算子
用於各類數值運算。包括加(+)、減(-)、乘(*)、除(/)、求餘(或稱模運算,%)、自增(++)、自減(--)共七種。
2.關係運算子
用於比較運算。包括大於(>)、小於(<)、等於(==)、 大於等於(>=)
、小於等於(<=)和不等於(!=)六種。
3.邏輯運算子
用於邏輯運算。包括與(&&)、或(||)、非(!)三種。
4.位操作運算子
參與運算的量,按二進位制位進行運算。包括位與(&)、位或(|)、位非(~)、位異或(^)、左移(<<)、右移(>>)六種。
5.賦值運算子
用於賦值運算,分為簡單賦值(=)、復合算術賦值(+=,-=,*=,/=,%=)和復合位運算賦值(&=,|=,^=,>>=,<<=)三類共十一種。
19樓:張震是
>>和《和是c語言中的「右移運算子」。一般情況下,是按位操作。
例如:short int a=8;a=a>>1; 1.a=0 000 1000 2.右移一位後:a= 0 000 100 3.補0:a=0 000
0100 4.化為十進位制數:a=4 舉例:int a=8;a=a>>1; 1.a=0 000 0000 0000 1000 2.右移一位後:
a= 0 000 0000 0000 100 3.補0:a=0 000 0000 0000 0100 4.化為十進位制數:a=4
特點:1、雙目運算子,就像+、-、*、/一樣,格式為(數1)>>(數2)
2、數1是被運算元,如被減數、被除數等;數2是右移位數。
3、優先順序低,結合性:從左向右運算 如:8>>1=?表示將被移數向右移動1位 如何操作?
化十進位制數為(注意了)對應的二進位制數,對應指格式對應。 通通右移,不足補0 3.化為十進位制數。
擴充套件資料
一、c語言運算符號的種類
1 算術運算子
用於各類數值運算。包括加(+)、減(-)、乘(*)、除(/)、求餘(或稱模運算,%)、自增(++)、自減(--)共七種。
2.關係運算子
用於比較運算。包括大於(>)、小於(<)、等於(==)、 大於等於(>=)
、小於等於(<=)和不等於(!=)六種。
3.邏輯運算子
用於邏輯運算。包括與(&&)、或(||)、非(!)三種。
4.位操作運算子
參與運算的量,按二進位制位進行運算。包括位與(&)、位或(|)、位非(~)、位異或(^)、左移(<<)、右移(>>)六種。
5.賦值運算子
用於賦值運算,分為簡單賦值(=)、復合算術賦值(+=,-=,*=,/=,%=)和復合位運算賦值(&=,|=,^=,>>=,<<=)三類共十一種。
6.條件運算子
這是乙個三目運算子,用於條件求值(?:)。
7.逗號運算子
用於把若干表示式組合成乙個表示式(,)。
8.指標運算子
用於取內容(*)和取位址(&)二種運算。
9.求位元組數運算子
用於計算資料型別所佔的位元組數(sizeof)。
10.特殊運算子
有括號(),下標,成員(→,.)等幾種。
20樓:非常可愛
在c語言中 《與<<=只有乙個區別就是作用不同。
c語言中的》和《分別是左移運算子和右移運算子,用於整數在二進位制形式的移位運算;
關係運算子用於比較運算。包括大於(>)、小於(<)、等於(==)、大於等於(>=);小於等於(<=)和不等於(!=)六種。
在c語言中x<<=1等於x=x<<1,是把x左移1位以後值儲存回x裡,x發生變化了。
擴充套件資料結合方向右結合(自右至左)單目運算子
!邏輯非運算子
~按位取反運算子
++自增運算子
--自減運算子
-負號運算子
(型別)型別轉換運算子
*指標運算子
&位址與運算子
sizeof長度運算子
css中lineheight的具體用法是什麼?求教
line height就用來給一行內容的高度設定範圍的。比如說,有乙個這樣的div 它的意思就是說,這個div裡面的每一行文字,佔36個畫素。它經常應用在讓一些文字居中到乙個位置。比如像下面這個 如果你在這個div裡面寫一行文字的話,它預設是在這個div的左上角的。如果你想讓它在垂直方向上居中的話,...
數控車床中U與W的具體用法
u和w是相對座標。簡單點就是從起點到終點的距離。如一直徑30mm,長度20mm 分一次車削。程式如下 m3s1000 t11m8 g0x35z2 g1u 5f500 g1w 22f300 g0x50z2m5 m30絕對座標值 m3s1000 t11m8 g0x35z2 g1x30f500 g1z 2...
C中的《是所有數向左移一位,還是最後數向左移一位
假定在8位的作業系統上 那麼比如 1 2 那麼就是 0000 0001 變成 0000 0100 因為十進位制1就是二進位制0000 0001,往左移2位就是0000 0100 怎麼會有所有數呢,是針對所操作的數移位操作 c 中左移和右移位具體的步驟是怎麼回事?這是語言內部實現的。不過總之就是將數的...