Naprawdę jestem na nią zakłopotany. W języku C# jest stałe szesnastkowe Format reprezentacja jak poniżej:C# stała binarna reprezentacja
int a = 0xAF2323F5;
istnieje binarny Stałe Format reprezentacja?
Naprawdę jestem na nią zakłopotany. W języku C# jest stałe szesnastkowe Format reprezentacja jak poniżej:C# stała binarna reprezentacja
int a = 0xAF2323F5;
istnieje binarny Stałe Format reprezentacja?
jak C# 7 można reprezentować wartość logiczną dosłowne w postaci kodu:
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.
}
Dalsze informacje można znaleźć here.
Nie, bez literałów binarnych w języku C#. Możesz oczywiście parsować ciąg w formacie binarnym, używając Convert.ToInt32, ale nie sądzę, że byłoby to świetne rozwiązanie.
int bin = Convert.ToInt32("1010", 2);
Pozostawię pytanie otwarte przez kilka godzin, ale jest to pierwsza odpowiedź, jeśli okaże się prawdą, zostanie wybrana jako oficjalna odpowiedź. Dziękuję Ci. –
To prawda ... równie dobrze może teraz zaakceptować. –
To prawda, że działa i jest przydatne w większości przypadków. Niestety nie działa, jeśli używasz go w 'switch (myVariable) {case bin: Console.WriteLine (" wykryto wartość "); przerwa; } 'instrukcja, ponieważ' case' zezwala tylko na stałe. – Matt
Ty mógłby wykorzystywać metodę rozszerzenia:
public static int ToBinary(this string binary)
{
return Convert.ToInt32(binary, 2);
}
Jednak czy to jest mądre Wyjadę do ciebie (biorąc pod uwagę fakt, że będzie działać na dowolnym ciągiem).
Od Visual Studio 2017 obsługiwane są literały binarne, takie jak 0b00001.
Co masz na myśli? const int a = 2938315765; – Paco
Dziękuję, myślę, że twój wynik jest poprawny, ale szukałem systematycznego rozwiązania. Czy powinienem wysłać pytanie o stackoverflow dla każdej stałej binarnej, którą muszę przekonwertować? –
.. na przykład 10110011 –