Quale algoritmo o programma utilizza Java per l'aritmetica?

0

Stavo guardando i modi bit a bit per moltiplicare e aggiungere numeri senza usare gli operatori * o +. Ma voglio sapere che potrebbe essere possibile che Java stia già usando un approccio migliore sotto. Ho provato a trovare l'algoritmo per le operazioni *, +, _ e /. Ho letto alcuni paragrafi di Specifica JVM ma non è stato in grado di trovare risposte soddisfacenti.

ad esempio:

int a = 33;
int b = 44;
int c = a + b;

Ora quello che voglio sapere è quando java incontra + operatore dove trova l'implementazione per aggiungere quei numeri. Lo stesso vale per la moltiplicazione, la divisione e la sottrazione. Guidami per trovare la risposta.

    
posta Anant666 22.07.2016 - 10:49
fonte

1 risposta

7

Quando Java incontra questo operatore + , compila l'aggiunta al codice byte, in particolare un'istruzione iadd .

Ciò che fa il computer quando esegue questa istruzione dipende da come è stata programmata la macchina virtuale su cui è stato eseguito questo programma. Potrebbe delegare a un opcode ADD da un set di istruzioni di un processore. Potrebbe consultare una tabella di ricerca interna per valori piccoli. Potrebbe fare qualcosa di completamente diverso che non avresti mai pensato in un milione di anni.

Il punto di scrittura di una macchina virtuale è che garantisce la semantica di ogni operazione, ma non la sua implementazione , quindi per definizione, non è possibile > conosci cosa succede.

    
risposta data 22.07.2016 - 10:59
fonte

Leggi altre domande sui tag