Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- /*
- * We are given an integer number n, a bit value v (v=0 or 1) and a position p.
- * Write a sequence of operators (a few lines of C# code) that modifies n to hold the value v at the position p
- * from the binary representation of n while preserving all other bits in n.
- */
- class ModifyBitAtGivenPosition
- {
- static void Main()
- {
- int number;
- byte position;
- byte bitValue;
- int changeNumber;
- int exchangedNumber;
- Console.WriteLine("Please enter some integer number");
- number = int.Parse(Console.ReadLine());
- Console.WriteLine("The entered number {0} in binary is {1} ", number, Convert.ToString(number, 2));
- Console.WriteLine("Please enter the bit position");
- position = byte.Parse(Console.ReadLine());
- do
- {
- Console.WriteLine("Please enter value of the bit");
- bitValue = byte.Parse(Console.ReadLine());
- if (bitValue != 1 && bitValue != 0)
- {
- Console.WriteLine("The bit must be 0 or 1");
- }
- } while (bitValue != 1 && bitValue != 0);
- if (bitValue == 0)
- {
- changeNumber = ~(1 << position);
- exchangedNumber = number & changeNumber;
- }
- else
- {
- changeNumber = (1<<position);
- exchangedNumber = number | changeNumber;
- }
- Console.WriteLine("The number after exchange = {0}\nIn binary = {1} ",exchangedNumber,Convert.ToString(exchangedNumber,2));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement