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 BitExchange
- {
- static void Main()
- {
- int number = 1073709056;
- int mask = 7;
- // Getting the 3, 4, 5 bits
- int firstTreeBits = number & (mask << 3);
- // Getting the 24, 25, 26 bits
- int secondTreeBits = number & (mask << 24);
- // Moving the bits to there corekt 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));
- // Replaceing the 24,25,26 bits in the number with 0;
- number = number & (~(mask << 24));
- Console.WriteLine(Convert.ToString(number, 2));
- // Inserting the reversed bits
- number = number | firstTreeBits;
- Console.WriteLine(Convert.ToString(number, 2));
- number = number | secondTreeBits;
- Console.WriteLine(Convert.ToString(number, 2));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement