c語言中右移是怎麼回事,移位後左邊補0嗎還是補最右邊的數,規則是什麼啊

2021-04-21 09:42:24 字數 937 閱讀 1667

1樓:匿名使用者

這要看操作的是什麼數字,如果有有符號的,左邊以符號位(即最高為)補齊,否則以0補齊

2樓:匿名使用者

是1的話,右移左邊是補0還是補1就不確定了,跟編譯系統有關

建議你手動補0,以免出錯

3樓:匿名使用者

右移n位相當於乘2的n次方,移位後左邊補0

關於c語言的左移(<<)和右移(>>)

4樓:匿名使用者

左移比較簡單,右邊補0(移幾位就補幾個0),左邊丟掉。

右移比較複雜,右移分兩種:

(1)邏輯右移,左邊補0(移幾位補幾位),右邊移出去的丟掉。

(2)算術右移,左邊補最高位(即原來的最高位是0就補0,是1就補1,因為最高位代表符號,這樣可以保證負數不會變成正數),右邊丟掉。

5樓:我不知道啊啊

可以定義一箇中間變數暫存要被移出去的位,正常移位之後再或上這個中間變數即可~

c語言中的左移和右移?

6樓:匿名使用者

移位操作符的兩個運算元必須是整型的。整個移位表示式的值的型別也是整型的,而且,左移位操作符與右移位操作符的運算並不對稱。

7樓:匿名使用者

0111右移一位是把最後一位的1去掉,左邊補個0,得0011,轉換為十進位制是3,這是正確的。並不等同於除以2

8樓:月影低徊

移位只是對int型進行的操作。如果按是int型的計算,結果是正確的 。

9樓:溫啟勇思

左移就是把二進位制數向左移動,右邊補0,0的二進位制全是0,左移之後右邊再補0,移5和移6沒區別

《後面的數字表示移多少位

C語言中和是怎麼回事,C語言中 代表什麼?什麼意思?

c語言中 與bai 都是位運算子,du 是按位或運算,zhi 是按位dao和運算。要知道,在計回算機實際進行運答算時,是把使用者輸入的資料轉化成2進位制進行運算的。比如1就會轉化為00000001 而2會轉化為00000010 那麼a b就相當於對這兩個二進位制數字中每一位都對應進行或運算。例如00...

c語言for語句,c語言中for語句是怎麼用的

中間那個語句i 20,j 10說明只要i和j符合這個條件就迴圈,第一次i 0,j 20符合i 20,j 10條件,迴圈繼續,轉入下面的i j i的值變為1,j為19,以此下去迴圈 include int main printf d d n i,j 我們測試下 就能知道結果 for i 0,j 20 ...

c語言中的平方是怎麼表示的,C語言中X的平方如何表示?

math.h檔案中含有乘方 包括開方 的庫函式表示為 pow x,y 其中x和y都是雙精度浮點 double 型,x是底數,y是指數 如果是小數即為開方 表示為 double pow double x,double y c語言pow 函式 求x的y次方 次冪 標頭檔案 pow 函式用來求 x 的 y...