"Unsigned right-shift example"

static void Test() {
	var i = -100;
	var signedShift = i >> 1;
	var unsignedShift = i >>> 1;

	Console.WriteLine($"            I: {i, -12} Binary: {Convert.ToString(i, 2).PadLeft(32, '0')}");
	Console.WriteLine($"  SignedShift: {signedShift,-12} Binary: {Convert.ToString(signedShift, 2).PadLeft(32, '0')}");
	Console.WriteLine($"UnsignedShift: {unsignedShift,-12} Binary: {Convert.ToString(unsignedShift, 2).PadLeft(32, '0')}");

	/* Console output:
	 *
	 *             I: -100         Binary: 11111111111111111111111110011100
	 *	 SignedShift: -50          Binary: 11111111111111111111111111001110
	 * UnsignedShift: 2147483598   Binary: 01111111111111111111111111001110
	 */
}


Code snippet taken from "Complete C# Quick Reference - C# 11".