A class that displays the binary representation of a value

image_pdfimage_print

   

/*
C# A Beginner's Guide
By Schildt

Publisher: Osborne McGraw-Hill
ISBN: 0072133295
*/
/* 
   Project 5-3 
 
   A class that displays the binary representation of a value. 
*/ 
using System; 
 
class ShowBits { 
  public int numbits; 
 
  public ShowBits(int n) { 
    numbits = n; 
  } 
 
  public void show(ulong val) { 
    ulong mask = 1; 
 
    // left-shift a 1 into the proper position 
    mask <<= numbits-1; 
 
    int spacer = 0; 
    for(; mask != 0; mask >>= 1) { 
      if((val &amp; mask) != 0) Console.Write("1"); 
      else Console.Write("0"); 
      spacer++; 
      if((spacer % 8) == 0) { 
        Console.Write(" "); 
        spacer = 0; 
      } 
    } 
    Console.WriteLine(); 
  } 
} 
 
// Demonstrate ShowBits. 
public class ShowBitsDemo { 
  public static void Main() { 
    ShowBits b = new ShowBits(8); 
    ShowBits i = new ShowBits(32); 
    ShowBits li = new ShowBits(64); 
 
    Console.WriteLine("123 in binary: "); 
    b.show(123); 
 
    Console.WriteLine("
87987 in binary: "); 
    i.show(87987); 
 
    Console.WriteLine("
237658768 in binary: "); 
    li.show(237658768); 
 
 
    // you can also show low-order bits of any integer 
    Console.WriteLine("
Low order 8 bits of 87987 in binary: "); 
    b.show(87987);  
  } 
}