Я действительно в тупике на этом. В C# есть шестнадцатеричные константы формат представление, как показано ниже:C# представление двоичных констант
int a = 0xAF2323F5;
есть двоичная константа формат представление?
Я действительно в тупике на этом. В C# есть шестнадцатеричные константы формат представление, как показано ниже:C# представление двоичных констант
int a = 0xAF2323F5;
есть двоичная константа формат представление?
На 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.
}
Дополнительную информацию можно найти here.
Нет, нет бинарных литералов в C#. Конечно, вы можете разобрать строку в двоичном формате с помощью Convert.ToInt32, но я не думаю, что это было бы отличным решением.
int bin = Convert.ToInt32("1010", 2);
Я оставлю вопрос открытым на несколько часов, но это первый ответ, если он окажется правдой, он будет выбран в качестве официального ответа. Спасибо. –
Это правда ... может также принять сейчас. –
Правда, это работает, и это полезно в большинстве случаев. К сожалению, это не работает, если вы используете его в 'switch (myVariable) {case bin: Console.WriteLine (« значение обнаружено »); ломать; } ', поскольку' case' допускает только константы. – Matt
Вы могли использовать метод расширения:
public static int ToBinary(this string binary)
{
return Convert.ToInt32(binary, 2);
}
Однако, это ли мудрый я оставлю до вас (учитывая тот факт, что будет работать на любой строке).
С Visual Studio 2017 поддерживаются бинарные литералы, такие как 0b00001.
Что вы имеете в виду? const int a = 2938315765; – Paco
Спасибо, я думаю, ваш результат верен, но я искал систематическое решение. Должен ли я публиковать вопрос o stackoverflow для каждой двоичной константы, которую мне нужно преобразовать? –
.. например 10110011 –