Mega Code Archive

 
Categories / C# / Language Basics
 

Show bits

/* C# Programming Tips & Techniques by Charles Wright, Kris Jamsa Publisher: Osborne/McGraw-Hill (December 28, 2001) ISBN: 0072193794 */ namespace nsBitwise {     using System;     public class Bitwise123     {         static public void Main ()         {             ushort x = 15542;             ushort y = 21845;             Console.Write ("x = {0} = ", x);             ShowBits (x);             Console.Write ("\r\ny = {0} = ", y);             ShowBits (y);             ushort result = (ushort) (x & y);             Console.Write ("\r\nx & y     = ");             ShowBits (result);             Console.WriteLine (" = " + result);             Console.Write ("\r\nx = {0} = ", x);             ShowBits (x);             Console.Write ("\r\ny = {0} = ", y);             ShowBits (y);             result = (ushort) (x | y);             Console.Write ("\r\nx | y     = ");             ShowBits (result);             Console.WriteLine (" = " + result);             Console.Write ("\r\nx = {0} = ", x);             ShowBits (x);             Console.Write ("\r\ny = {0} = ", y);             ShowBits (y);             result = (ushort) (x ^ y);             Console.Write ("\r\nx ^ y     = ");             ShowBits (result);             Console.WriteLine (" = " + result);         }         static void ShowBits (ushort x)         {             int size;             unsafe             {                 size = sizeof (short) * 8;             }             for (int i = size - 1; i >= 0; --i)             {                 Console.Write ((x >> i) & 1);                 if ((i % 4) == 0)                     Console.Write (' ');             }         }     } }