Advertisement
Teodor92

BitExchange

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