2016-03-09 15 views

Odpowiedz

14

Możesz użyć metod log2(:Double) lub log2f(:Float) z Xcode Tools, dostępnych np. Przez: importowanie UIKit lub Foundation:

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

przykład na placu zabaw

print(log2(8.0)) // 3.0 

(Edycja Ponadto wrt swój komentarz poniżej)

Jeśli chcesz obliczyć niestandardowej bazy log, możesz użyć następującej zależności zmiany podstawy dla logarytmów

enter image description here

Stąd na przykład dla obliczaniu log3, można napisać następującą funkcję

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

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

lub po prostu funkcję dziennika niestandardowego-Base:

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

A jak obliczyć log3 (9.0)? – Zentopia

+0

@Utopia Zaktualizowano moją odpowiedź, aby uwzględnić ogólny przypadek. – dfri

+0

bardzo szczegółowe. Dzięki – Zentopia

Powiązane problemy