【问题标题】:iPhone SDK log to base 10iPhone SDK 日志以 10 为基数
【发布时间】:2009-08-14 22:20:17
【问题描述】:

有没有一种方法可以确定 iPhone 语言中任意数字的以 10 为底的对数?任何数学方面的帮助都会受到新手 iPhone 开发人员的赞赏。 提前致谢。 M

【问题讨论】:

    标签: iphone math sdk numbers logging


    【解决方案1】:

    Objective-C 是 C 的扩展——你可以使用来自 math.h 的 C 函数 log10

    #include <math.h>
    @implementation MathUtils
    + (CGFloat)log10:(CGFloat)value
    {
        return log10(value);
    }
    @end;
    

    【讨论】:

      【解决方案2】:

      logA(x) = ln(x)/ln(A)

      【讨论】:

        【解决方案3】:
        log_n x / log_n 10
        

        其中 log_n 是对任意基数的日志

        【讨论】:

          【解决方案4】:

          为什么要把它包装在一个 ObjC 方法中呢?正如你所说,Objective-C 是 C 的扩展:

          #include <math.h>
          
          float doSomeComputation(float x)
          {
              // ...
              float y = log10f(x); // drop the 'f' if you're using doubles
              // ...
              return y;
          }
          

          完全有效的 Objective-C。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2016-12-21
            • 2011-01-05
            • 1970-01-01
            • 2012-09-24
            • 1970-01-01
            • 2017-06-09
            相关资源
            最近更新 更多