Advertisement
Guest User

hw15.

a guest
Mar 14th, 2014
320
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.41 KB | None | 0 0
  1.  
  2. using System;
  3.  
  4. class ExchangeBitsFirst
  5. {
  6.     static void Main()
  7.     {
  8.         Console.Write("Enter a number to exchange bits: ");
  9.         uint number = uint.Parse(Console.ReadLine());
  10.         uint mask = 1;
  11.         uint bit1;
  12.         uint bit2;
  13.         uint number1;
  14.         Console.Write("Now enter the starting lower bit: ");
  15.         byte k = byte.Parse(Console.ReadLine());
  16.         Console.Write("Now enter the starting higher bit: ");
  17.         byte p = byte.Parse(Console.ReadLine());
  18.         Console.WriteLine("{0} : Original number : {1} in decimal", Convert.ToString(number, 2).PadLeft(32, '0'), number);
  19.         for (byte i = 1; i <= 3; i++, k++, p++)
  20.         {
  21.             mask = mask << k;
  22.             bit1 = (mask & number) >> k;
  23.             mask = mask >> k;
  24.             mask = mask << p;
  25.             bit2 = (mask & number) >> p;
  26.             mask >>= p;
  27.             if (bit1 != bit2)
  28.             {
  29.                 if (bit1 == 1)
  30.                 {
  31.                     number1 = number | (mask << p);
  32.                     number = number1 ^ (mask << k);
  33.                 }
  34.                 else
  35.                 {
  36.                     number1 = number ^ (mask << p);
  37.                     number = number1 | (mask << k);
  38.                 }
  39.             }
  40.         }
  41.         Console.WriteLine("{0} : Converted number : {1} in decimal", Convert.ToString(number, 2).PadLeft(32, '0'), number);
  42.     }
  43. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement