1樓:匿名使用者
右移操作時,連同符號位同時移動,且符號位是1(負數)時,補1,符號位是0(正數)時補0。char a = -3(-3) = (11111101)2事實上,右移2位後,該數為11111111,次數已經是-1了。
2樓:匿名使用者
c語言中,假設你的機器字長一個位元組是32位,那麼你注意:-3在計算機補碼中表示:1111 1111 1111 1111 1111 1111 1111 1101右移(帶符號)31位:
1111 1111 1111 1111 1111 1111 1111 1111(最後一個1是原先最高的符號位的那個1)。這串數字的補碼的原碼是-1
3樓:匿名使用者
一般情況下是補零,但在處理有符號數的時候會因計算機系統的不同而不同。有符號數高位是零,則右移時高位補零;如果是負數,即高位是1,那麼,有得系統會移入1,稱算術右移,有的會移入0,稱邏輯右移。
如果高位補 0,結果就是1如果高位補1, 結果就是-1
4樓:匿名使用者
-3 在記憶體中表示的話最高位是符號位 負數為 1做右移的話最高位會用1填充。
右移31位的話那麼最後的數就是 0xffffffff了。
這個在記憶體中表示的就是有符號數的 -1
5樓:匿名使用者
怪了,真是怪了。
我覺得應該是1,怎麼計算機算出來是-1.
c語言 表示式3>2>1的值,答案是0,為什麼?
6樓:匿名使用者
首先,真為1,假為0,這是毋庸置疑的。
c語言中》是左結合的,也就是說當兩個》在一起的時候先算左邊的。
那麼3>2是真的,結果就是1;
1>1當然就是假的了。
所以結果為0。
7樓:華衣在盛
這屬於邏輯語句,3>2為真,即為1,1>1為假,故為0
8樓:匿名使用者
0是真的意思吧,也有可能在連續的符號下它只能為0
c語言中>>和<<如何使用?
9樓:匿名使用者
c語言中<< 代表左移運算子,>> 代表右移運算子,位移位運算子是將資料看成二進位制數,對其進行向左或向右移動若干位的運算。
<< 代表左移運算子:左移運算子用來將一個數的各二進位制位全部左移若干位,移動的位數由右運算元指定,右運算元必須是非負值,其右邊空出的位用0填補,高位左移溢位則捨棄該高位。
例如:設無符號短整型變數a為0111(對應二進位制數為0000000100010001),則:a<<3 結果為0888(對應二進位制數為0000100010001000)。
>> 代表右移運算子:右移運算是將一個二進位制位的運算元按指定移動的位數向右移動,移出位被丟棄,左邊移出的空位或者一律補0,或者補符號位,這由不同的機器而定。在使用補碼作為機器數的機器中,正數的符號位為0,負數的符號位為1。
例如:var temp = 56 >> 2 變數temp的值為 14,因為56 (即二進位制的 00111000)向右移兩位等於 14 (即二進位制的 00001110) 。
10樓:路堯家的顧小言
1、左移運算子(<<):按二進位制形式把所有的數字向左移動對應的位數,高位移出(捨棄),低位的空位補零。
格式:需要移位的數字 << 移位的次數
例如:3<<2
3轉換為二進位制是0011,所有數字左移2個位置,空位補0,得到1100,即十進位制數12。
2、右移運算子(>>):按二進位制把所有的數字向右移動對應位移位數,低位移出(捨棄),高位的空位補符號位(正數補零,負數補1)。
格式:需要移位的數字 >> 移位的次數
例如:11 >> 2
11的二進位制為1011,所有數向右移2個位置,因為11是正數,所以高位補0,得0010,是十進位制的2。
11樓:陳麗芬
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.賦值運算子
用於賦值運算,分為簡單賦值(=)、複合算術賦值(+=,-=,*=,/=,%=)和複合位運算賦值(&=,|=,^=,>>=,<<=)三類共十一種。
12樓:張震是
>>和《和是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.特殊運算子
有括號(),下標,成員(→,.)等幾種。
13樓:非常可愛
在c語言中 《與<<=只有一個區別就是作用不同。
c語言中的》和《分別是左移運算子和右移運算子,用於整數在二進位制形式的移位運算;
關係運算子用於比較運算。包括大於(>)、小於(<)、等於(==)、大於等於(>=);小於等於(<=)和不等於(!=)六種。
在c語言中x<<=1等於x=x<<1,是把x左移1位以後值儲存回x裡,x發生變化了。
擴充套件資料結合方向右結合(自右至左)單目運算子
!邏輯非運算子
~按位取反運算子
++自增運算子
--自減運算子
-負號運算子
(型別)型別轉換運算子
*指標運算子
&地址與運算子
sizeof長度運算子
14樓:匿名使用者
這是c語言中的「右移運算子」。一般情況下,他是按位操作。 特點:
1.雙目運算子,就像+、-、*、/一樣,格式為(數1)>>(數2) 2.數1是被運算元,如被減數、被除數等;數2是右移位數。
3.優先順序低,結合性:從左向右運算 如:
8>>1=?表示將被移數向右移動1位 如何操作? 1.
化十進位制數為(注意了)對應的二進位制數,對應指格式對應 2.通通右移,不足補0 3.化為十進位制數 舉例:
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求採納
15樓:qian一生所愛
答案果然是可以編輯的!
C語言中位操作,C語言位操作運算子 , , , , , 是幹什麼的?
首先32位系統 3預設為整形佔4位元組 32個位 二進位制表示11111111 11111111 11111111 11111101得來方法 3的二進位制位00000000 00000000 00000000 00000011,取反補1後等到上面的值 再看下 1的二進位制11111111 11111...
C語言中5 6的值是多少,C語言中5 6的值是多少?5 6的值又是多少?
何曼婷囖 是4,是按位與的意思,是按位或的意思。的計算規則如下1 1 1。1 0 0 1 0 0 0。的計算規則如下1 1 1 0 0 1 1。0 0 0。5的二進位制表示為101,6的二進位制位110。所以5 6 100 十進位制就是4。c語言特點 簡潔緊湊 靈活方便。c語言一共只有32個關鍵字,...
c語言中!10的值為0,為什麼,c語言中a 1 0 的值是什麼
ch陳先生 計算機記憶體儲存的時候認為規定了,只有0,沒有 0。c語言是一門程序導向的 抽象化的通用程式設計語言,廣泛應用於底層開發。c語言之所以命名為c,是因為c語言源自kenthompson發明的b語言,而b語言則源自bcpl語言。1967年,劍橋大學的martinrichards對cpl語言進...