重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
(1)易语言是一门计算机程序设计语言,也通常代指与之对应的集成开发环境,其特点是通过汉语进行编程。核心是由C++所写。以“易”著称,以中文作为程序代码表达的语言形式。易语言的创始人是吴涛。早期版本的名字为E语言。易语言最早的版本的发布可追溯至2000年9月11日。可以说,创造易语言的初衷是进行用中文来编写程序的实践。从2000年至今,易语言已经发展到一定的规模:功能上、用户数量上都十分可观。
成都创新互联成立与2013年,先为淮南等服务建站,淮南等地企业,进行企业商务咨询服务。为淮南企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
(2)所有整数不是奇数(单数),就是偶数(双数)。若某数是2的倍数,它就是偶数(双数),可表示为2n;若非,它就是奇数(单数),可表示为2n+1(n为整数),即奇数(单数)除以二的余数是一。
(3)在整数的除法中,只有能整除与不能整除两种情况。当不能整除时,就产生余数,所以余数问题在小学数学中非常重要。
NSMutableArray* array = [NSMutableArray array];
for(int i =0; i 10; i++) {
CGFloat num = arc4random() %100+1;
[array addObject:[NSNumber numberWithFloat:num]];
}
//最大值
CGFloat maxValue = [[array valueForKeyPath:@"@max.floatValue"] floatValue];
//最小值
CGFloat minValue = [[array valueForKeyPath:@"@min.floatValue"] floatValue];
//平均值
CGFloat avgValue = [[array valueForKeyPath:@"@avg.floatValue"] floatValue];
rand() ----随机数
abs() / labs() ----整数绝对值
fabs() / fabsf() / fabsl() ----浮点数绝对值
floor() / floorf() / floorl() ----向下取整
ceil() / ceilf() / ceill() ----向上取整
round() / roundf() / roundl() ----四舍五入
sqrt() / sqrtf() / sqrtl() ----求平方根
fmax() / fmaxf() / fmaxl() ----求最大值
fmin() / fminf() / fminl() ----求最小值
hypot() / hypotf() / hypotl() ----求直角三角形斜边的长度
fmod() / fmodf() / fmodl() ----求两数整除后的余数
modf() / modff() / modfl() ----浮点数分解为整数和小数
frexp() / frexpf() / frexpl() ----浮点数分解尾数和二为底的指数
sin() / sinf() / sinl() ----求正弦值
sinh() / sinhf() / sinhl() ----求双曲正弦值
cos() / cosf() / cosl() ----求余弦值
cosh() / coshf() / coshl() ----求双曲余弦值
tan() / tanf() / tanl() ----求正切值
tanh() / tanhf() / tanhl() ----求双曲正切值
asin() / asinf() / asinl() ----求反正弦值
asinh() / asinhf() / asinhl() ----求反双曲正弦值
acos() / acosf() / acosl() ----求反余弦值
acosh() / acoshf() / acoshl() ----求反双曲余弦值
atan() / atanf() / atanl() ----求反正切值
atan2() / atan2f() / atan2l() ----求坐标值的反正切值
atanh() / atanhf() / atanhl() ----求反双曲正切值
2.高斯函数,向下取整
floor(1.0/4)=0;
floor(4.0/4)=1;
floor(5.0/4)=1;
floor(8.0/4)=2;
floor()方法是向下取整,类似于数学中的高斯函数 [].取得不大于浮点数的最大整数,对于正数来说是舍弃浮点数部分,对于复数来说,舍弃浮点数部分后再减1.
3.ceil函数,向上取整。
如:
ceil(1.0/4)=1;
ceil(4.0/4)=1;
ceil(5.0/4)=2;
ceil(8.0/4)=2;
ceil()方法是向上取整, 括号内是double类型
这两个函数都是math.h库里面的,直接使用就行,ios不需要再次倒入头文件,类似这个数学函数还有很多,如
1、 三角函数
double sin (double); 正弦
double cos (double);余弦
double tan (double);正切
2 、反三角函数
double asin (double); 结果介于[-PI/2, PI/2]
double acos (double); 结果介于[0, PI]
double atan (double); 反正切(主值), 结果介于[-PI/2, PI/2]
double atan2 (double, double); 反正切(整圆值), 结果介于[-PI, PI]
3 、双曲三角函数
double sinh (double);
double cosh (double);
double tanh (double);
4 、指数与对数
double exp (double);求取自然数e的幂
double sqrt (double);开平方
double log (double); 以e为底的对数
double log10 (double);以10为底的对数
double pow(double x, double y);计算以x为底数的y次幂
float powf(float x, float y); 功能与pow一致,只是输入与输出皆为浮点数
5 、取整
double ceil (double); 取上整
double floor (double); 取下整
6 、绝对值
double fabs (double);求绝对值
double cabs(struct complex znum) ;求复数的绝对值
7 、标准化浮点数
double frexp (double f, int *p); 标准化浮点数, f = x * 2^p, 已知f求x, p ( x介于[0.5, 1] )
double ldexp (double x, int p); 与frexp相反, 已知x, p求f
8 、取整与取余
double modf (double, double*); 将参数的整数部分通过指针回传, 返回小数部分
double fmod (double, double); 返回两参数相除的余数
9 、其他
double hypot(double x, double y);已知直角三角形两个直角边长度,求斜边长度
double ldexp(double x, int exponent);计算x*(2的exponent次幂)
double poly(double x, int degree, double coeffs [] );计算多项式
nt matherr(struct exception *e);数学错误计算处理程序
如果我们要实现保留N位小数的四舍五入时。我们可以用如下的方法实现:
PS: ceil()、floor()、rint()、round()比较
如果我们要实现保留N位小数的截取时。我们可以用如下的方法实现:
函数返回余数r = x - n*y, 其中n等于x/y的值截取的整数。
函数返回余数r = x - n*y, 其中n等于x/y的值取最接近的整数,如果有两个数都接近x/y,那么n就取偶数。
从上面的描述可以看出fmod和remainder的区别主要在于x/y的整数部分的处理不一样:fmod函数是取 x/y的整数 来算余数,而remainder函数则取 最接近x/y的整数 来算余数。
这个函数和 remainder函数一样,只不过会将整数商也返回给quo,也就是说r = x - n *y这个等式中,r作为函数的返回,而n则返回给quo。
函数返回小数部分,整数部分存储在p中。
函数返回尾数*符号部分,指数部分存储在p中。需要明确的是如果浮点数x为0或者非规格化浮点数时按浮点数的定义格式返回尾数和指数,而当x为规格化浮点数那么返回的值的区间是[0.5, 1)。这里的返回值和指数值p和上面介绍的规格化浮点数格式: 符号 * (1.尾数) * 2^指数 有差异。因为按照定义返回的尾数部分应该是1.xxx,但是这里的返回值却是[0.5, 1)。其实这并不矛盾,只是函数对返回的值做了特殊处理:因为一个正浮点数可以表示为:1.m * 2^e == (2^0 + 0.m) * 2^e == (2^0 / 2 + 0.m / 2) *2^(e+1) =(0.5 + 0.m/2) *2^(e+1)。因此frexp函数返回的真实值是: 尾数除以2,而p存储的是:指数+1
下面函数使用的一些例子:
这个函数和上面的ldexp函数为互逆函数。要详细的了解浮点数存储格式请参考 IEEE754
因为arctan的定义域是在(-∞, +∞),而值域是在(-????/2, ????/2)之间。因此 :
这个函数提供的另外一个意义在于tan函数的值其实就是对边除以邻边的结果,因此当知道对边和邻边时就可以直接用这个逆三角函数来求得对应的弧度值。假如特殊情况下对边和邻边的值都是0.0,那么如果你调用atan(0.0/0.0)得到的值将是NAN而不是0。因为0.0/0.0的值是NAN,而对NAN调用atan函数返回的也是NAN,但是对atan2(0.0,0.0)调用返回的结果就是正确值0。
1、 三角函数
double sin (double);正弦
double cos (double);余弦
double tan (double);正切
2 、反三角函数
double asin (double); 结果介于[-PI/2, PI/2]
double acos (double); 结果介于[0, PI]
double atan (double); 反正切(主值), 结果介于[-PI/2, PI/2]
double atan2 (double, double); 反正切(整圆值), 结果介于[-PI, PI]
3 、双曲三角函数
double sinh (double);
double cosh (double);
double tanh (double);
4 、指数与对数
double exp (double);求取自然数e的幂
double sqrt (double);开平方
double log (double); 以e为底的对数
double log10 (double);以10为底的对数
double pow(double x, double y);计算以x为底数的y次幂
float powf(float x, float y); 功能与pow一致,只是输入与输出皆为浮点数
5 、取整
double ceil (double); 取上整
用法:向上取整ceil(3.123333)=4 ceilf(3.123333)=4
double floor (double); 取下整
用法: 向下取整 floor(3.123333)=3
6 、绝对值
double fabs (double);求绝对值
double cabs(struct complex znum) ;求复数的绝对值
7 、标准化浮点数
double frexp (double f, int *p); 标准化浮点数, f = x * 2^p, 已知f求x, p ( x介于[0.5, 1] )
double ldexp (double x, int p); 与frexp相反, 已知x, p求f
8 、取整与取余
double modf (double, double*); 将参数的整数部分通过指针回传, 返回小数部分
用法:两数整除之后的余数fmod(9, 8)=1.00
double fmod (double, double); 返回两参数相除的余数
用法:double x, fractpart, intpart;
x = 8.123456;
fractpart = modf(x, intpart);
整数部分 = 8.000000
小数部分 = 0.123456
9 、其他
double hypot(double x, double y);已知直角三角形两个直角边长度,求斜边长度
double ldexp(double x, int exponent);计算x*(2的exponent次幂)
double poly(double x, int degree, double coeffs [] );计算多项式
nt matherr(struct exception *e);数学错误计算处理程序
原作者链接: