Bitwise Operators: Problem 10. Tri-bit Switch
Здравейте,
Условието на задачата е следното:
Write a program that inverts the 3 bits from position p to the left with their opposites (e.g. 111 -> 000, 101 -> 010). Print the resulting number on the console.
Ето кода:
using System;
class TriBitSwitch
{
static void Main()
{
long n = long.Parse(Console.ReadLine());
long p = long.Parse(Console.ReadLine());
long mask = 7 << p;
long result = n ^ mask;
Console.WriteLine(result);
}
}
В маската ми дава следната грешка: Operator '<<' cannot be applied to operands of type 'int' & 'long'.
Когато кастна 7 към long пък ми дава Operator '<<' cannot be applied to operands of type 'long' & 'long'. -> long mask = (long)7 << p;
Някакви идеи къде бъркам?
Благодаря! :)
Благодаря за бързия отговор. Стана! :) И доста тъпа грешка от моя страна.