Advertisement
AnitaN

03.OperatorsExpressionsStatements/15.BitsExchange

Mar 20th, 2014
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.29 KB | None | 0 0
  1. //Write a program that exchanges bits 3, 4 and 5 with bits 24, 25 and 26 of given 32-bit unsigned integer.
  2. using System;
  3.  
  4. class BitsExchange
  5. {
  6.     static void Main()
  7.     {
  8.         Console.WriteLine("Please, enter number:");
  9.         uint number = uint.Parse(Console.ReadLine());
  10.         uint mask = 7;
  11.         // Getting the 3, 4, 5 bits
  12.         uint firstTreeBits = number & (mask << 3);
  13.         // Getting the 24, 25, 26 bits
  14.         uint secondTreeBits = number & (mask << 24);
  15.         // Moving the bits to there correct position
  16.         firstTreeBits = firstTreeBits << 21;
  17.         secondTreeBits = secondTreeBits >> 21;
  18.         // Replaceing the 3,4,5 bits in the number with 0;
  19.         number = number & (~(mask << 3));
  20.         Console.WriteLine(Convert.ToString(number, 2).PadLeft(32,'0'));
  21.         // Replaceing the 24,25,26 bits in the number with 0;
  22.         number = number & (~(mask << 24));
  23.         Console.WriteLine(Convert.ToString(number, 2).PadLeft(32, '0'));
  24.         // Inserting the reversed bits
  25.         number = number | firstTreeBits;
  26.         Console.WriteLine(Convert.ToString(number, 2).PadLeft(32, '0'));
  27.         number = number | secondTreeBits;
  28.         Console.WriteLine(Convert.ToString(number, 2).PadLeft(32, '0'));
  29.         Console.WriteLine(number);
  30.     }
  31. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement