2012-01-14 8 views
5

In C#In C# Esiste qualche tipo di dati per memorizzare il valore esadecimale?

voglio controllare il valore che è in formato binario a 8 bit (cioè 0000000a o 00010ef0) è tra la gamma specifica ....

ad esempio (segue è il codice in linguaggio C)

int temp=5; 
if (temp>=0 || temp<10) 
    printf("temp is between 0-10"); 

stesso modo voglio controllare il valore esadecimale è in collera dato o no ....

+0

In che tipo di dati è il valore esadecimale memorizzato quando è passata per il codice ? char *? –

+1

Non esiste un valore esadecimale. Esistono valori interi che possono essere visualizzati in formato decimale o esadecimale. – dtb

+0

cosa vuol dire controllare "esadecimale"? Esadecimale o decimale o binario o wathever è solo il * reprentation * del valore. –

risposta

7

int temp=0x5; seguito da if (temp >= 0xa || temp < 0x10ef0) sembra quello che vuoi.

Che || significa O tuttavia, probabilmente si desidera AND (&&).

Fondamentalmente, prefisso con 0x per indicare al compilatore che stai specificando qualcosa in esadecimale.

5

è possibile utilizzare int tipi di famiglia:

int val=0x19; 
3

Fatta eccezione per il "printf" il codice si posta in C compilare con gli stessi effetti in C#:

int temp=5; 
    if (temp>=0 || temp<10) 
     Console.WriteLine("temp is between 0-10"); 

se avete bisogno di rappresentare in C# una costante esadecimale, il prefisso con 0x, come si sono abituati a fare in C.

3

È possibile convertire la stringa del valore esadecimale per un intero

int hexvalue = int.Parse(value.ToString(),System.Globalization.NumberStyles.HexNumber); 

e poi fare il test normale

if (hexvalue >=0 || hexvalue <10) 
    Console.WriteLine("hexvalue is between 0-10"); 
Problemi correlati