BorisSimeonov

Bit Exchange

Nov 10th, 2014
258
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 0.81 KB | None | 0 0
  1. using System;
  2.  
  3. class BitsExchange
  4. {
  5.     static void Main()
  6.     {
  7.         long num = long.Parse(Console.ReadLine());
  8.         long firstThreeBits = (long)(num >> 3) & 7;
  9.         long secondThreeBits = (long)(num >> 21) & 7;
  10.         //first variant
  11.         num -= (firstThreeBits << 3);
  12.         num += (secondThreeBits << 3);
  13.         num -= (secondThreeBits << 24);
  14.         num += (firstThreeBits << 24);
  15.  
  16.         //second variant
  17.         /*long difference = Math.Abs(firstThreeBits - secondThreeBits);
  18.         if (firstThreeBits > secondThreeBits)
  19.         {
  20.             num -= (difference << 3);
  21.             num += (difference << 24);
  22.         }
  23.         else
  24.         {
  25.             num += (difference << 3);
  26.             num -= (difference << 24);
  27.         }*/
  28.  
  29.         Console.WriteLine(num);
  30.     }
  31. }
Advertisement
Add Comment
Please, Sign In to add comment