如何用12的幂提高双倍值?

我有一个双倍的是:

double mydouble = 10; 

我想10 ^ 12,所以10 * 10 * 10 * 10 * 10 * 10 * 10 * 10 * 10 * 10 * 10 * 10.我试过了

 double newDouble = pow(10, 12); 

它在NSLog中返回我: pow=-1.991886

没有多大意义……我认为战俘不是我的朋友吗?

尝试pow(10.0,12.0)。 更好的是, #include math.h

澄清一下:如果不包含math.h ,编译器会假定pow()返回一个整数。 包括math.h引入了一个原型

 double pow(double, double); 

因此编译器可以理解如何处理参数和返回值。

如果没有:我甚至无法编译程序:

 #include  

当使用这样的数学函数时,你应该总是包含math.h并确保你正在调用正确的pow函数。 谁知道其他战function可能是什么……它可以代表“动力车”哈哈

以下是如何使用最少的乘法数计算x ^ 12。

 y = x*x*x; y *= y; y *= y; 

该方法来自Knuth的Seminumerical Algorithms ,第4.6.3节。

这是pow的正确语法,你传递给NSLog(…)的格式字符串是什么?

你尝试过铸造双人:

 NSLog(@"(double)pow(10, 12) = %lf", (double)pow(10, 12));