static void Main(string[] args) { ulong n = ulong.Parse(Console.ReadLine()); int p = int.Parse(Console.ReadLine()); int q = int.Parse(Console.ReadLine()); int k = int.Parse(Console.ReadLine()); //bool[] newBitValues = new bool[27]; //bool(27); ModifyBitsU mBU = new ModifyBitsU(n); int qCoeficient = q - p; for (int i = p; i <= (p + k - 1); i++) { bool pBitValue = mBU.GetBitValue(i); bool qBitValue = mBU.GetBitValue(i + qCoeficient); mBU.SetBitValue(i, qBitValue); mBU.SetBitValue(i + qCoeficient, pBitValue); } Console.WriteLine("{0}", mBU.Value); }
static void Main(string[] args) { ulong value = ulong.Parse(Console.ReadLine()); bool[] newBitValues = new bool[27]; //bool(27); ModifyBitsU mBU = new ModifyBitsU(value); newBitValues[24] = mBU.GetBitValue(3); newBitValues[25] = mBU.GetBitValue(4); newBitValues[26] = mBU.GetBitValue(5); newBitValues[3] = mBU.GetBitValue(24); newBitValues[4] = mBU.GetBitValue(25); newBitValues[5] = mBU.GetBitValue(26); for (int i = 3; i <= 5; i++) { mBU.SetBitValue(i, newBitValues[i]); mBU.SetBitValue(i + 21, newBitValues[i + 21]); } Console.WriteLine(mBU.Value); }