Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Console.WriteLine("Please enter unsigned integer number");
- uint number = Convert.ToUInt32(Console.ReadLine());
- Console.WriteLine("Please enter the first bit's position");
- int firstPosition = Convert.ToInt32(Console.ReadLine());
- Console.WriteLine("Please enter the second bit's position");
- int secondPosition = Convert.ToInt32(Console.ReadLine());
- Console.WriteLine("Please enter the number of consecutive bits you want to exchange");
- int numberOfBits = Convert.ToInt32(Console.ReadLine());
- uint result;
- uint temp;
- temp = ((number >> firstPosition) ^ (number >> secondPosition)) & ((1U << numberOfBits) - 1); // XOR temporary
- result = number ^ ((temp << firstPosition) | (temp << secondPosition));
- if ((firstPosition + numberOfBits) > 32 || (secondPosition + numberOfBits) > 32)
- {
- Console.WriteLine("Out of range");
- }
- else if ((firstPosition + secondPosition) <= numberOfBits)
- {
- Console.WriteLine("Overlapping");
- }
- else
- {
- Console.WriteLine(result);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement