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 exchangesBits
- {
- static void Main()
- {
- int n = 2063597567;
- int mask = 0;
- int nAndMask = 0;
- int bit = 0;
- int[] myArray = new int[3];
- int replace = n;
- for (int i = 0; i < 3; i++)
- {
- int p = 24; // start position to get bits
- p += i; // position 24 25 26
- mask = 1 << p;
- nAndMask = n & mask;
- bit = nAndMask >> p; // return bit on position
- myArray[i] = bit; // create array whit bits
- }
- for (int i = 0; i < 3; i++)
- {
- int p = 3; // start position to get bits
- p += i; // position 3 4 5
- mask = 1 << p;
- nAndMask = n & mask;
- bit = nAndMask >> p; // return bit on position
- if (bit != myArray[i]) // if bit on position 3 4 5 not equal to position 24 25 26
- {
- replace = replace ^ mask; // replace bit on this position whit bit on current array position
- }
- }
- Console.WriteLine(Convert.ToString(n, 2).PadLeft(32, '0'));
- Console.WriteLine(Convert.ToString(replace, 2).PadLeft(32, '0'));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement