# 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.