fbinnzhivko

Problem05ShuffleBits

Apr 22nd, 2016
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.03 KB | None | 0 0
  1. using System;
  2. class Problem05ShuffleBits
  3. {
  4.     static void Main()
  5.     {
  6.         uint number1 = uint.Parse(Console.ReadLine());
  7.         //Console.WriteLine(Convert.ToString(number1, 2).PadLeft(32, '0'));
  8.  
  9.         uint number2 = uint.Parse(Console.ReadLine());
  10.         //Console.WriteLine(Convert.ToString(number2, 2).PadLeft(32, '0'));
  11.  
  12.         ulong result = 0;
  13.  
  14.         if (number1 >= number2)
  15.         {
  16.             for (int i = 31; i >= 0; i--)
  17.             {
  18.                 result = (result << 1) | ((number1 >> i) & 1);
  19.                 result = (result << 1) | ((number2 >> i) & 1);
  20.             }
  21.         }
  22.         else
  23.         {
  24.             for (int i = 31; i >= 0; i -= 2)
  25.             {
  26.                 result = (result << 1) | ((number1 >> i) & 1);
  27.                 result = (result << 1) | ((number1 >> i - 1) & 1);
  28.                 result = (result << 1) | ((number2 >> i) & 1);
  29.                 result = (result << 1) | ((number2 >> i - 1) & 1);
  30.             }
  31.         }
  32.         Console.WriteLine(result);
  33.     }
  34. }
Add Comment
Please, Sign In to add comment