Quando eseguo il seguente codice Visual Basic:L'operatore di alimentazione in Java?
Dim b As Double
b = (2^16 - 1) * Math.Sqrt(Math.Sqrt((a/(2^8 - 1))))
(Supponendo a
è un doppio il cui valore è 15,0)
Il risultato che ottengo per b
è di circa 32.275.
Ma quando ho eseguito il seguente codice Java, che dovrebbe fare la stessa cosa come sopra:
double b;
b = (2^16 - 1) * Math.sqrt(Math.sqrt((a/(2^8 - 1))));
Sempre con a
essendo 15, ho un gran risultato diverso: circa 17.
entrambi stanno risolvendo questa equazione:
Perché è così? Per ciò su cui sto lavorando, Visual Basic restituisce il risultato che sto cercando.
Oltre alla cosa XOR, in Java a è int o doppio? Perché se è int, allora anche a/x è int. – pablosaraiva
'a' è un doppio valore in questo caso. – Kenan
Grazie! Questa soluzione ha funzionato. Mi chiedevo perché 'Math.pow()' esistesse persino se potessi usare '^' (che ora so che non posso). – Kenan