2016-03-09 8 views

Antwort

14

Sie können die log2(:Double) oder log2f(:Float) Methoden von der Xcode Tools verwenden, die z. UIKit oder Foundation importieren:

func log2(x: Double) -> Double 
func log2f(x: Float) -> Float 

zB in einem Spielplatz

print(log2(8.0)) // 3.0 

(Bearbeiten zusätzlich wrt Sie Ihren Kommentar unten)

Wenn Sie Ihre benutzerdefinierten-Basis berechnet werden soll Log-Funktion können Sie die folgende Basis-Wechselbeziehung für Logarithmen verwenden

enter image description here

Daher z.B. Berechnung log3, könnten Sie die folgende Funktion

func log3(val: Double) -> Double { 
    return log(val)/log(3.0) 
} 

print(log3(9.0)) // "2.0" 

Oder einfach eine benutzerdefinierte-Basis-Log-Funktion schreiben:

func logC(val: Double, forBase base: Double) -> Double { 
    return log(val)/log(base) 
} 

print(logC(9.0, forBase: 3.0)) // "2.0" 
print(logC(16.0, forBase: 4.0)) // "2.0" 
+0

Und wie log 3 (9.0) berechnen? – Zentopia

+0

@Utopia Meine Antwort wurde aktualisiert, um einen allgemeinen Fall einzuschließen. – dfri

+0

sehr detailliert. Danke – Zentopia

Verwandte Themen