C# bitwise shift on ushort (UInt16)

KBoek picture KBoek · Sep 29, 2010 · Viewed 11.1k times · Source

I need to perform a bitwise left shift on a 16-bit integer (ushort / UInt16), but the bitwise operators in C# seem to apply to int (32-bit) only. How can I use << on an ushort, or at least get to the same result with a simple workaround?

Answer

driis picture driis · Sep 29, 2010

Cast the resulting value back into ushort after shifting:

ushort value = 1;
ushort shifted = (ushort)(value << 2);