Sono davvero inciampato su questo. In C# c'è un formato di rappresentazione costanti esadecimali, come di seguito:Rappresentazione delle costanti binarie C#
int a = 0xAF2323F5;
c'è un costanti formato di rappresentazione binaria?
Sono davvero inciampato su questo. In C# c'è un formato di rappresentazione costanti esadecimali, come di seguito:Rappresentazione delle costanti binarie C#
int a = 0xAF2323F5;
c'è un costanti formato di rappresentazione binaria?
Come di C# 7 è possibile rappresentare un valore letterale binario in codice:
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.
}
Ulteriori informazioni possono essere trovate here.
No, nessun valore letterale binario in C#. Ovviamente è possibile analizzare una stringa in formato binario utilizzando Convert.ToInt32, ma non penso che sarebbe un'ottima soluzione.
int bin = Convert.ToInt32("1010", 2);
Lascerò la domanda aperta per alcune ore ma questa è la prima risposta, se è vera, verrà scelta come risposta ufficiale. Grazie. –
È vero ... potrebbe anche accettarlo ora. –
È vero, funziona, ed è utile nella maggior parte dei casi. Sfortunatamente non funziona se lo stai usando in un 'switch (myVariable) {case bin: Console.WriteLine (" valore rilevato "); rompere; } istruzione, poiché 'case' consente solo le costanti. – Matt
Si potrebbe utilizzare un metodo di estensione:
public static int ToBinary(this string binary)
{
return Convert.ToInt32(binary, 2);
}
Tuttavia, se questo è saggio lascio a voi (in considerazione del fatto che opererà su qualsiasi stringa).
Da Visual Studio 2017 sono supportati valori letterali binari come 0b00001.
Cosa intendi? const int a = 2938315765; – Paco
Grazie, immagino che il tuo risultato sia corretto ma stavo cercando una soluzione sistematica. Devo pubblicare una domanda o stackoverflow per ogni costante binaria che devo convertire? –
.. ad esempio 10110011 –