java實現迴圈左移和右移的簡單演算法

2021-08-28 07:15:12 字數 486 閱讀 6914

byte a=112,用程式實現,將其迴圈左移三位和右移三位。

112的二進位制原碼:0111 0000

112迴圈左移3位後的二進位製碼:1000 0011

112迴圈右移3位後的二進位製碼:0000 1110

先將迴圈左移的程式**告訴大家:

public class testcircle

}程式的輸出結果是-125,它的原碼為1111 1101,補碼為1000 0011(正好是112迴圈左移三位後的數字)

再看迴圈右移的程式**:

public class testcircle

}程式的輸出結果是14,他的原碼、補碼相同都是0000 1110(正好是112迴圈右移三位後的數字)

總結:對於乙個資料型別長度為l的資料n,對其進行迴圈左移m位(或右移m位),只需將資料n左移(或右移)m位的結果和資料n右移(或左移)l-m位的結果進行或運算,再將或運算的結果強制轉換為原型別即可。

迴圈移位 迴圈左移和迴圈右移

迴圈移位就是把數值變成二進位制,然後迴圈移動的過程 換句話說,迴圈移位就是將移出的低位放到該數的高位 迴圈右移 或把移出的高位放到該數的低位 迴圈左移 左移,和右移動都是對整數進行的操作,在win32控制台應用程式中,整形佔4byte節32bit。迴圈左移的過程 迴圈左移的過程可以分為3步 1.將x...

用C語言實現迴圈左移,右移

c51中實現迴圈左移 右移的庫函式 include unsigned char crol unsigned char c,character to rotate left unsigned char b bit positions to rotate unsigned char cror unsig...

Java的左移和右移運算子

左移運算子,num 1 相當於num乘以2 右移運算子,num 1 相當於num除以2 比如num是40 10進製 對應的二進位制為 101000 2的5次方x1 2的4次方x4 2的3次方x1 2的2次方x0 2的1次方x0 2的0次方x0 二進位制轉換為十進位制方法原始方法 左移一位 左移一位是...