每天学一点库函数3

库函数

数学函数

本文使用的操作系统是Windows 7 64位处理器。
使用的软件是Microsoft visual studio 2015
在使用数学函数的时候,应该在源文件中添加以下命令
#include <math.h>

1、pow

本函数的功能是求指数函数的值。
语法格式为
double pow(double x,double y)
输出的是x的y次幂的值。

	cout << "pow(2.0, 3.0)= " << pow(2.0, 3.0) << endl;
	cout << "pow(2, 3)= " << pow(2, 3) << endl;
	cout << "pow(2.0, 0)= " << pow(2.0, 0) << endl;
	cout << "pow(0, 3.0)= " << pow(0, 3.0) << endl;
	cout << "pow(0, 0)= " << pow(0, 0) << endl;

运行结果如下
指数函数运行结果示意图

2、frexp

本函数的功能是将双精度的数分解为数字部分和以2为底的指数。
语法格式为
double frexp(double val,int *eptr);
即 val = x * 2^n;
输出x,并且将n赋值给 *eptr;
其中,x的取值范围为[0.5,1);

	int n = 0;
	double x = frexp(3.5, &n);
	cout << "x=" << x << "  " << "n=" << n << endl;
	x *= pow(2.0, n);
	cout << x << endl;

运行以上程序,输出结果如下
frexp函数运行示意图

3、modf

本函数的功能是将双精度数分解成为整数部分和小数部分。
语法结构如下
double modf(double val, double *iptr);
其中,输出的是小数部分,整数部分会存储在 *iptr 所指的空间。

    double a = 0;
	cout << "modf(3.5,&a)=" << modf(3.5, &a) << endl;
	cout << "a=" << a << endl;

运行以上程序,输出结果如下
modf函数运行结果示意图

4、rand

本函数的功能是输出一个-90到32767之间的随机整数。但是这个随机数是一个伪随机数。
语法结构如下
int rand(void)

	cout << rand() << endl;
	cout << rand() << endl;
	cout << rand() << endl;
	cout << rand() << endl;

输出结果为
41
18467
6334
26500
如果要产生真随机数,则可以使用当前系统时间作为随机种子,然后由于时间的不同,便可以产生一个真随机数。
要使用本方法的话,需要添加time.h头文件。即在文件开始时添加以下代码。
#include <time.h>

	srand(time(NULL));
	cout << rand() << endl;
	cout << rand() << endl;
	cout << rand() << endl;
	cout << rand() << endl;

此时产生的随机数便不可预测了。

Ω ~未完待续

猜你喜欢

转载自blog.csdn.net/ichliebecamb/article/details/84674818