Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Write a program that exchanges bits 3, 4 and 5 with bits 24, 25 and 26 of given 32-bit unsigned integer.
- using System;
- class BitsExchange
- {
- static void Main()
- {
- Console.WriteLine("Please, enter number:");
- uint number = uint.Parse(Console.ReadLine());
- uint mask = 7;
- // Getting the 3, 4, 5 bits
- uint firstTreeBits = number & (mask << 3);
- // Getting the 24, 25, 26 bits
- uint secondTreeBits = number & (mask << 24);
- // Moving the bits to there correct position
- firstTreeBits = firstTreeBits << 21;
- secondTreeBits = secondTreeBits >> 21;
- // Replaceing the 3,4,5 bits in the number with 0;
- number = number & (~(mask << 3));
- Console.WriteLine(Convert.ToString(number, 2).PadLeft(32,'0'));
- // Replaceing the 24,25,26 bits in the number with 0;
- number = number & (~(mask << 24));
- Console.WriteLine(Convert.ToString(number, 2).PadLeft(32, '0'));
- // Inserting the reversed bits
- number = number | firstTreeBits;
- Console.WriteLine(Convert.ToString(number, 2).PadLeft(32, '0'));
- number = number | secondTreeBits;
- Console.WriteLine(Convert.ToString(number, 2).PadLeft(32, '0'));
- Console.WriteLine(number);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement