Представление двоичных констант C#
Я очень озадачен этим. В C# существует шестнадцатеричный формат представления констант, как показано ниже:
int a = 0xAF2323F5;
существует ли формат представления двоичных констант?
4 ответов
начиная с C#7 Вы можете представить двоичное литеральное значение в коде:
private static void BinaryLiteralsFeature()
{
var employeeNumber = 0b00100010; //binary equivalent of whole number 34. Underlying data type defaults to System.Int32
Console.WriteLine(employeeNumber); //prints 34 on console.
long empNumberWithLongBackingType = 0b00100010; //here backing data type is long (System.Int64)
Console.WriteLine(empNumberWithLongBackingType); //prints 34 on console.
int employeeNumber_WithCapitalPrefix = 0B00100010; //0b and 0B prefixes are equivalent.
Console.WriteLine(employeeNumber_WithCapitalPrefix); //prints 34 on console.
}
дополнительная информация здесь.
нет, двоичных литералов в C#нет. Конечно, вы можете разобрать строку в двоичном формате с помощью Convert.ToInt32, но я не думаю, что это было бы отличным решением.
int bin = Convert.ToInt32( "1010", 2 );
вы может использовать метод расширения:
public static int ToBinary(this string binary)
{
return Convert.ToInt32( binary, 2 );
}
однако, разумно ли это, я оставлю вам (учитывая тот факт, что он будет работать на любой строке).