Wie funktioniert math.min eigentlich?

8

Ich verstehe, dass alle mathematischen Funktionen in Java eingebaut sind. Aber ich frage mich aus Neugierde, wie Math.min() tatsächlich funktioniert?

Ich habe die Java-Dokumentation überprüft und konnte nichts finden, was mir helfen könnte. Ich bin ziemlich neu in Java.

    
Samuel L Jackson 25.09.2013, 13:27
quelle

5 Antworten

15

int

%Vor%

lang

%Vor%

schweben

%Vor%

verdoppeln

%Vor%

Weitere Informationen: Hier

    
Gray 25.09.2013, 13:32
quelle
10

Java 7-Dokumentation :

  

Gibt den kleineren von zwei int-Werten zurück. Das heißt, das Ergebnis liegt näher am Wert von Integer.MIN_VALUE. Wenn die Argumente denselben Wert haben, ist das Ergebnis derselbe Wert.

Verhalten :

%Vor%

java.lang.Math und java.lang.StrictMath Quelle :

%Vor%

java.lang.Math Bytecode ( javap -c Math.class von JDKs JRE's jt.rt.jar) :

%Vor%

Wenn der Vergleich bei 5 wahr ist, wird a geladen, springt der jvm zu 10 und gibt a , Wenn der Vergleich den Wert false ergibt, springt er zu 9 , wodurch b geladen und zurückgegeben wird.

Intrinsics :

Diese .hpp-Datei der Java 8 Hotspot JVM deutet an, dass Math.min durch den optimierten Maschinencode noch weiter optimiert wird:

%Vor%

Dies bedeutet, dass der obige Bytecode nicht von der Java 8 Hotspot JVM ausgeführt wird. Dies unterscheidet sich jedoch von JVM zu JVM, weshalb ich auch den Bytecode erklärt habe!

Hoffentlich wissen Sie jetzt alles, was es über Math.min zu wissen gibt! :)

    
tilpner 25.09.2013 13:40
quelle
3

Überprüfen Sie einfach Math.java-Quelldatei :

%Vor%     
X.L.Ant 25.09.2013 13:30
quelle
3

Referenz

  

Die java.lang.Math.min (int a, int b) gibt den kleineren von zwei int-Werten zurück. Das heißt, das Ergebnis ist der Wert näher an der negativen Unendlichkeit. Wenn die Argumente den gleichen Wert haben, ist das Ergebnis derselbe Wert. Wenn einer der Werte NaN ist, ist das Ergebnis NaN. Im Gegensatz zu den numerischen Vergleichsoperatoren berücksichtigt diese Methode, dass der negative Nullwert genau kleiner als der positive Nullwert ist. Wenn ein Argument positiv und das andere negativ ist, ist das Ergebnis negativ Null.

Zum Beispiel

%Vor%

Ausgabe als

%Vor%

Es zeigt den Minimalwert von Math.min()

an     
Naveen Kumar Alonekar 25.09.2013 13:30
quelle
2

Einige effiziente Form von

%Vor%     
Ruben Serrate 25.09.2013 13:30
quelle

Tags und Links