Advertisement
Guest User

12.BitsExchange

a guest
Oct 15th, 2012
176
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. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. class BitExchange
  7. {
  8.     static void Main(string[] args)
  9.     {
  10.         Console.Write("Enter number: ");
  11.         uint number;
  12.         number = uint.Parse(Console.ReadLine());
  13.         Console.Write("Enter length of sequences: ");
  14.         uint k = uint.Parse(Console.ReadLine());
  15.         Console.Write("Enter first bit of first sequence: ");
  16.         uint p = uint.Parse(Console.ReadLine());
  17.         Console.Write("Enter first bit of second sequence: ");
  18.         uint q = uint.Parse(Console.ReadLine());
  19.  
  20.         int diff = Convert.ToInt32(q - p);
  21.  
  22.         for (int i = Convert.ToInt32(p); i < k; i++)
  23.         {
  24.             if ((number & (1 << i)) > 0 && ((number & (1 << i + diff)) == 0))
  25.             {
  26.                 number &= ~(1u << i);
  27.                 number |= 1u << (i + diff);
  28.             }
  29.             else if ((number & (1 << i)) == 0 && ((number & (1 << i + diff)) > 0))
  30.             {
  31.                 number &= ~(1u << (i + diff));
  32.                 number |= 1u << i;
  33.             }
  34.         }
  35.  
  36.         Console.WriteLine(number);
  37.     }
  38.  
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement