Advertisement
Guest User

15.хв

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