C++中幂位的运算

C++中n次幂的表示

一般来说,我们在编程的时候,遇到幂次问题首先想到的一个符号是“ ^ ”对吧,但是在C++中“ ^ ”常被用于异或运算,简单来说就是

判断对应位的值是否相同,并没有乘方运算的作用。

进行乘方运算时,需要用到的一个函数就是pow函数,函数原型为

    double pow(double a,double b);

注意使用前要包含cmath头文件。(用for循环也可以实现一个数的幂次运算)

#include <iostream>
#include <cmath>
double a=2;
double b=3
cout<<pow(a,b)<<endl;

pow函数的作用就是计算并返回a的b次幂,此外a和b都可以由键盘输入,但是都必须是确定的数。

其实c++中10的乘方运算还有一种特殊表达方式,即用字母e表示其后的数是以10为底的幂。

如1e12,表示“1乘以10的12次幂”前面的1也是必不可少的,哪怕只需要表示10的2次幂,也要写为1e2(10的负数次幂直接在e后面

加负号就好,如1e-2,表示10的-2次幂。)

可能导致错误的情况:
如果底数 x 为负数并且指数 y 不是整数,将会导致 domain error 错误。
如果底数 x 和指数 y 都是 0,可能会导致 domain error 错误,也可能没有;这跟库的实现有关。
如果底数 x 是 0,指数 y 是负数,可能会导致 domain error 或 pole error 错误,也可能没有;这跟库的实现有关。
如果返回值 z 太大或者太小,将会导致 range error 错误。

猜你喜欢

转载自blog.csdn.net/Terminal_ve/article/details/126145863
今日推荐