Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Program
- {
- static uint number = uint.Parse(Console.ReadLine());
- static uint unit = 1;
- static void Main()
- {
- //first group
- int bit3 = getBit(number, 3);
- int bit4 = getBit(number, 4);
- int bit5 = getBit(number, 5);
- //second group
- int bit24 = getBit(number, 24);
- int bit25 = getBit(number, 25);
- int bit26 = getBit(number, 26);
- //Exchanges positions
- putBitOnPosition(bit3, 24);
- putBitOnPosition(bit4, 25);
- putBitOnPosition(bit5, 26);
- putBitOnPosition(bit24, 3);
- putBitOnPosition(bit25, 4);
- putBitOnPosition(bit26, 5);
- Console.WriteLine(number);
- }
- static int getBit(uint number, int position)
- {
- int bit = (int) (number >> position) & 1;
- return bit;
- }
- static void putBitOnPosition(int bit, int position)
- {
- uint mask = unit << position;
- if ((number >> position & unit) != bit)
- {
- number ^= mask;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement