Advertisement
GogoK

Shuffle Bits

Dec 12th, 2015
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.14 KB | None | 0 0
  1. using System;
  2.  
  3. class ShuffleBits
  4. {
  5.     static void Main()
  6.     {
  7.         uint first = uint.Parse(Console.ReadLine());
  8.         uint second = uint.Parse(Console.ReadLine());
  9.  
  10.         string firstToString = Convert.ToString(first, 2).PadLeft(32, '0');
  11.         string secondToString = Convert.ToString(second, 2).PadLeft(32, '0');
  12.         string result = string.Empty;
  13.  
  14.         if (first >= second)
  15.         {
  16.             for (int i = 0; i < 32; i++)
  17.             {
  18.                 result += firstToString[i].ToString();
  19.                 result += secondToString[i].ToString();
  20.             }
  21.         }
  22.         else
  23.         {
  24.             for (int i = 0; i < 32; i += 2)
  25.             {
  26.                 result += firstToString[i].ToString();
  27.                 result += firstToString[i + 1].ToString();
  28.  
  29.                 result += secondToString[i].ToString();
  30.                 result += secondToString[i+1].ToString();
  31.             }
  32.         }
  33.  
  34.         ulong output = 0;
  35.         for (int i = 63; i >= 0; i--)
  36.         {
  37.             output |= ulong.Parse(result[i].ToString()) << (63-i);
  38.         }
  39.         Console.WriteLine(output);
  40.     }
  41. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement