Unsigned shifting a byte value. : Bitwise Operators « Operators « Java Tutorial






public class MainClass {
  static public void main(String args[]) {
    char hex[] = {
      '0', '1', '2', '3', '4', '5', '6', '7',
      '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'
    };
    byte b = (byte) 0xf1;
    byte c = (byte) (b >> 4);
    byte d = (byte) (b >>> 4);
    byte e = (byte) ((b & 0xff) >> 4);
    System.out.println("              b = 0x"
      + hex[(b >> 4) & 0x0f] + hex[b & 0x0f]);
    System.out.println("         b >> 4 = 0x"
      + hex[(c >> 4) & 0x0f] + hex[c & 0x0f]);
    System.out.println("        b >>> 4 = 0x"
      + hex[(d >> 4) & 0x0f] + hex[d & 0x0f]);
    System.out.println("(b & 0xff) >> 4 = 0x"
      + hex[(e >> 4) & 0x0f] + hex[e & 0x0f]);
  }
}
b = 0xf1
b >> 4 = 0xff
b >>> 4 = 0xff
(b & 0xff) >> 4 = 0x0f








3.5.Bitwise Operators
3.5.1.The Bitwise Operators can be applied to the integer types, long, int, short, char, and byte.
3.5.2.The Bitwise Logical Operators
3.5.3.Bitwise AND (&)
3.5.4.Bitwise OR (|)
3.5.5.Bitwise XOR (^)
3.5.6.Left shift (<<)
3.5.7.Bitwise complement (~): inverts ones and zeros in a number
3.5.8.Demonstrate the bitwise logical operators
3.5.9.All bitwise operators in action
3.5.10.Bitwise Operator Assignments
3.5.11.The Left Shift
3.5.12.Left shifting as a quick way to multiply by 2
3.5.13.The Right Shift
3.5.14.The Unsigned Right Shift
3.5.15.Signed shift to the right
3.5.16.Unsigned shifting a byte value.
3.5.17.Convert a number to negative and back
3.5.18.Performing Bitwise Operations on a Bit Vector
3.5.19.Converting Between a BitSet and a Byte Array
3.5.20.Returns a byte array of at least length 1
3.5.21.Use bitwise operator to create hash code
3.5.22.Operations on bit-mapped fields.
3.5.23.Represents a collection of 64 boolean (on/off) flags.