前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MQL5从入门到精通【第三章】操作符

MQL5从入门到精通【第三章】操作符

作者头像
程序员小助手
发布2020-04-08 11:18:45
5150
发布2020-04-08 11:18:45
举报
文章被收录于专栏:程序员小助手程序员小助手

通过操作符,可以提供数学运算,对变量赋值。

# 加法 乘法

代码语言:javascript
复制
int a = 3 + 5; // a=8
double b = 2.5 + a; // b=10.5

int ma = 5 * 3; // ma = 15
double mb = 2.5 * ma; // mb=37.5

需要特别留意的是上方加法中,整型和double型相加,结果为double型。乘法的方式也是一样的。这个就是隐式数据转换。

# 减法 负数

代码语言:javascript
复制
int a = 5 - 3; // a= 2
double b = 0.5 - a;// b = -1.5

int na = -5;
double nb = 3.3 - na; // nb = 8.3

与我们常识的四则运算相同规则。留意数据类型转换,从低精度转为高精度。还有数据范围,默认是有符号数,可正可负。第二章我们详细介绍过了。

# 除法 取模

说一下取模。其实就是求整数A除以整数B的余数,就叫取模。当然还有商,可以直接对结果取整求得。这里只讲一下取模。

代码语言:javascript
复制
double a = 5 / 2; // =2.5
int b = 5 / 2; // = 2.这个就是求商,取整即可。

int m = 5 % 2; // = 1 这个就是取模,两数相除的余数

# 赋值运算符

很多时候,我们需要把计算表达式的结果,保存并传递给其他函数/变量使用。

代码语言:javascript
复制
int a = 5;
a = a + 3;
Print(a); // = 8

声明了饿一个变量并对其自加,并赋值给自身。也可以使用如下表达式,是等价的:

代码语言:javascript
复制
int a = 5;
a += 3;

依次类推,还可以自乘,自除,自减等等:

代码语言:javascript
复制
a -= 3; // a = a-3
a *= 3; // a = a*3
a /= 3; // a = a/3
a %= 3; // a = a%3

# 关系操作符

逻辑中常用的判断项,大于,小于,等于等等。

代码语言:javascript
复制
a > b // 大于
a < b // 小于
a >= b // 大于等于
a <= b // 小于等于
a == b // 等于
a != b // 不等于

对于新手程序员,唯一需要注意的,就是一个=,是赋值;两个==等号,是逻辑判断,一定要记清楚了哦。否则编译器抛出异常的时候,又得令人懊恼。

当使用实数进行逻辑判断时,将比较的数据进行标准化,小数点位精度统一化很关键。我们使用NorminalizeDouble函数对double数据进行小数点位数格式化。

代码语言:javascript
复制
double a = 1.3456789;
double b = 1.3456798;

a = NorminalizeDouble(a,4);// 保留4位小数
b = NorminalizeDouble(b,4); // 同上

if(a == b){
    Print("a is equal to b.");
}

格式化为同一精度的实数再进行比较,就好了。

# 布尔操作符

布尔运算,其实简单的就三个操作元,与 &&,或 ||,非 !。程序里用的最多的也就是这三个。

与,A成立且B成立,C才成立;A && B = C

或,A成立或B成立,C才成立;A || B = C

非,A不成立,C才成立;!A = C

下面看一些例子:

代码语言:javascript
复制
int a = 1;
int b = 1;
int c = 3;
if(a ==b || a+b == c){ // a等于b = true, a+b ==c,=false。与运算,只要一个成立即可。
    Print('Yes');
}

看看非运算:

代码语言:javascript
复制
bool n = false;
if(!n){ // n不为真,成立。
    Print("yes");
}

综合的非运算:

代码语言:javascript
复制
int a = 1;
int b = 2;
if(!(a == b)){ // a==b不成立,则通过
    Print("yes, a is not equal tp b!');
}

上面的表达式其实等价于:

代码语言:javascript
复制
if(a != b){
    Print("yes, a is not equal tp b!');
}

以上。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-12-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员小助手 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • # 加法 乘法
  • # 减法 负数
  • # 除法 取模
  • # 赋值运算符
  • # 关系操作符
  • # 布尔操作符
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档