Advertisement
stanevplamen

01.3.13.ExchangeBits

Apr 28th, 2013
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.60 KB | None | 0 0
  1. using System;
  2.  
  3. class ExchangeBits
  4. {
  5.     static void Main(string[] args)
  6.     {
  7.         int intUserNumber = 0;
  8.         Console.WriteLine("Please enter an integer number (n) for \"Exchange Bits\" program:");
  9.         intUserNumber = int.Parse(Console.ReadLine());
  10.         Console.WriteLine("The binary number is: {0}", (Convert.ToString(intUserNumber, 2).PadLeft(32, '0')));
  11.  
  12.         int position1 = 3;
  13.         int position2 = 24;
  14.         int position3 = 4;
  15.         int position4 = 25;
  16.         int position5 = 5;
  17.         int position6 = 26;
  18.  
  19.         int userMove1 = intUserNumber >> position1; // move 3 bits to check if 0 or 1
  20.         int userMove2 = intUserNumber >> position2; // move 24 bits to check if 0 or 1
  21.         int userMove3 = intUserNumber >> position3;
  22.         int userMove4 = intUserNumber >> position4;
  23.         int userMove5 = intUserNumber >> position5;
  24.         int userMove6 = intUserNumber >> position6;
  25.         int changeNumb = 1;
  26.  
  27.         int checkingMask1 = userMove1 & changeNumb; // Determine if the number of 3rd bit is 0 or 1
  28.         int mask1 = (checkingMask1 == 0) ? ~(1 << position2) : (1 << position2);
  29.         int helpNumb1 = (checkingMask1 == 0) ? (intUserNumber & mask1) : (intUserNumber | mask1);
  30.         //Console.WriteLine("The binary number is: {0}", (Convert.ToString(helpNumb1, 2).PadLeft(32, '0')));
  31.         // Short if - else expression with results on the same sections
  32.  
  33.         int checkingMask2 = userMove2 & changeNumb; // Determine if the number of 24th bit is 0 or 1
  34.         int mask2 = (checkingMask2 == 0) ? ~(1 << position1) : (1 << position1);
  35.         int helpNumb2 = (checkingMask2 == 0) ? (intUserNumber & mask2) : (intUserNumber | mask2);
  36.         //Console.WriteLine("The binary number is: {0}", (Convert.ToString(helpNumb2, 2).PadLeft(32, '0')));
  37.  
  38.  
  39.  
  40.         int checkingMask3 = userMove3 & changeNumb;
  41.         int mask3 = (checkingMask3 == 0) ? ~(1 << position4) : (1 << position4);
  42.         int helpNumb3 = (checkingMask3 == 0) ? (intUserNumber & mask3) : (intUserNumber | mask3);
  43.         //Console.WriteLine("The binary number is: {0}", (Convert.ToString(helpNumb3, 2).PadLeft(32, '0')));
  44.  
  45.         int checkingMask4 = userMove4 & changeNumb;
  46.         int mask4 = (checkingMask4 == 0) ? ~(1 << position3) : (1 << position3);
  47.         int helpNumb4 = (checkingMask4 == 0) ? (intUserNumber & mask4) : (intUserNumber | mask4);
  48.         //Console.WriteLine("The binary number is: {0}", (Convert.ToString(helpNumb4, 2).PadLeft(32, '0')));
  49.  
  50.  
  51.  
  52.         int checkingMask5 = userMove5 & changeNumb;
  53.         int mask5 = (checkingMask5 == 0) ? ~(1 << position6) : (1 << position6);
  54.         int helpNumb5 = (checkingMask5 == 0) ? (intUserNumber & mask5) : (intUserNumber | mask5);
  55.         //Console.WriteLine("The binary number is: {0}", (Convert.ToString(helpNumb5, 2).PadLeft(32, '0')));
  56.  
  57.         int checkingMask6 = userMove6 & changeNumb;
  58.         int mask6 = (checkingMask6 == 0) ? ~(1 << position5) : (1 << position5);
  59.         int helpNumb6 = (checkingMask6 == 0) ? (intUserNumber & mask6) : (intUserNumber | mask6);
  60.         //Console.WriteLine("The binary number is: {0}", (Convert.ToString(helpNumb6, 2).PadLeft(32, '0')));
  61.  
  62.         int result1 = intUserNumber ^ helpNumb1;
  63.         int result2 = helpNumb2 ^ result1;
  64.         int result3 = helpNumb3 ^ result2;
  65.         int result4 = helpNumb4 ^ result3;
  66.         int result5 = helpNumb5 ^ result4;
  67.         int result6 = helpNumb6 ^ result5;
  68.  
  69.         Console.WriteLine("The binary number is: {0}", (Convert.ToString(result6, 2).PadLeft(32, '0')));
  70.         Console.WriteLine("The decimal number is: {0}", result6);
  71.     }
  72. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement