Advertisement
adriyanbulgary

OperatorsExpressionsAndStatements - Task 14

Jun 13th, 2014
215
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.55 KB | None | 0 0
  1. using System;
  2. /*
  3.  * We are given an integer number n, a bit value v (v=0 or 1) and a position p.
  4.  * Write a sequence of operators (a few lines of C# code) that modifies n to hold the value v at the position p
  5.  * from the binary representation of n while preserving all other bits in n.
  6.  */
  7. class ModifyBitAtGivenPosition
  8. {
  9.     static void Main()
  10.     {
  11.         int number;
  12.         byte position;
  13.         byte bitValue;
  14.         int changeNumber;
  15.         int exchangedNumber;
  16.         Console.WriteLine("Please enter some integer number");
  17.         number = int.Parse(Console.ReadLine());
  18.         Console.WriteLine("The entered number {0} in binary is {1} ", number, Convert.ToString(number, 2));
  19.         Console.WriteLine("Please enter the bit position");
  20.         position = byte.Parse(Console.ReadLine());
  21.         do
  22.         {
  23.             Console.WriteLine("Please enter value of the bit");
  24.             bitValue = byte.Parse(Console.ReadLine());
  25.             if (bitValue != 1 && bitValue != 0)
  26.             {
  27.                 Console.WriteLine("The bit must be 0 or 1");
  28.             }
  29.         } while (bitValue != 1 && bitValue != 0);
  30.         if (bitValue == 0)
  31.         {
  32.             changeNumber = ~(1 << position);
  33.             exchangedNumber = number & changeNumber;
  34.         }
  35.         else
  36.         {
  37.             changeNumber = (1<<position);
  38.             exchangedNumber = number | changeNumber;
  39.         }
  40.         Console.WriteLine("The number after exchange = {0}\nIn binary = {1} ",exchangedNumber,Convert.ToString(exchangedNumber,2));
  41.     }
  42. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement