Come calcolare in ottale, esadecimale e binario in Java

In Java è possibile fare qualsiasi calcolo matematico direttamente sui numeri del sistema ottale o esadecimale utilizzando i letterali numerici.

Numeri in ottale

Per assegnare a una variabile un valore ottale, basta inserire uno zero all'inizio del numero.

0[numero]

Esempio

Nel seguente esempio assegno alle variabili intere numero1 e numero2 due valori ottali.

Poi sommo i due valori in una variabile decimale.

class prova {
public static void main (String args[]) {
int numero1, numero2, somma;
numero1=01;
numero2=010;
somma=numero1+numero2;
System.out.println("Il risultato è " + somma );
}
}

L'output del programma è il seguente:

Il risultato è 9

Nel sistema decimale la somma 1+10 è uguale a 11.

In questo caso, si tratta di due numeri ottali. Il numero 10 in ottale equivale al numero 8 in decimale.

Quindi, in decimali il risultato è 9.

Numeri in esadecimale

Per assegnare dei valori in esadecimale antepongo il prefisso 0x davanti al numero esadecimale.

0x[numero esadecimale]

Esempio

class prova {
public static void main (String args[]) {
int numero1, numero2, somma;
numero1=0xA;
numero2=0x1;
somma=numero1+numero2;
System.out.println("Il risultato è " + somma );
}
}

In questo esempio assegno alle variabili due valori esadecimali A+1.

L'output dell'elaborazione è il seguente

Il risultato è 11

Il simbolo A in esadecimale equivale al numero 10 del sistema decimale.

Per questa ragione la somma esadecimale A+1 è uguale al valore decimale 11.

Numeri in binario

Per scrivere i numeri binari in Java utilizzo il prefisso 0B o 0b davanti al numero.

0b[numero binario]

Esempio

In questo programma assegno due valori binari alle variabili e li sommo in una variabile decimale.

class prova {
public static void main (String args[]) {
int numero1, numero2, somma;
numero1=0b11;
numero2=0b11;
somma=numero1+numero2;
System.out.println("Il risultato è " + somma );
}
}

Il risultato in output è il seguente:

Il risultato è 6

In effetti, il numero binario 11 equivale al numero decimale 3.

Quindi, la somma dei numeri binari 11+11 dà come risultato il numero decimale 6.

 


 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin
knowledge base

Il linguaggio Java