一个真正惊人的结果!!!。 - 页 7

 
MuruFigi >> :

好吧,我在第二页有点同意,如果是这样,我们不应该谈论编译器的错误,而应该谈论开发人员大脑的错误。没有冒犯的意思,我做这个主题是为了搞笑。

我现在不明白的是这个。

MQL编译器是在什么基础上开发的?如果它是用普通语言开发的,那么程序员一定是被乘法和加法运算具有同等优先权的事实所吓坏了。他们怎么可能错过呢?真的每个人都把括号放在他们想要的地方和不想要的地方吗?顺便说一下,太多的括号也会使代码更清晰。当你的程序员写算术运算如2+3*4时,他们也会写2+(3*4),或者上帝保佑,一个错误可能会溜进C++编译器,在一个表达式中嵌套100个括号,手动计算它:)

这是C、Java、Fortran、MathCad等等等等开发者的大脑中的一个错误。


你怎么还不明白呢!?


ZS


虽然,我承认,我也花了一段时间才意识到这一点。

 
sol писал(а)>>

虽然,我承认,我也花了一段时间才意识到这一点。

现在才明白为什么有些逻辑组合不想正常工作。我不得不添加人工括号。

我以前无法解释。但我也没有提起这个话题。我通过四处打探,设法找到了正确的解决方案。但有多少次,我不得不四处打探以改变一切?

 
nen >> :

现在才明白为什么有些逻辑组合不想正常工作。我不得不添加人工括号。

先前没有什么可以解释的。但我也没有提出来。我通过四处打探,设法找到了正确的解决方案。但有多少次我不得不四处打探才能找到这一切?

术语表


*rofl*

 
MuruFigi >>: 真的每个人都把括号放在该放的地方和不该放的地方吗?

好吧,当然不是所有的都是一排,但我总是这样。而且纯粹是出于习惯,在我发现这个 "开发者头脑中的错误 "之前,早就把它们放了。而且,如果我可以不用它,放上括号,为什么我还得再深入研究一下《帮助》,以弄清优先次序?因此,对我来说,这个 "错误 "并不是一场灾难,尽管它让我感到好笑。

以前,当我用C语言写一些布尔运算的东西时,我也会把它们放进去,尽管我并不怀疑优先级。说实话,我认为没有括号的复杂布尔表达式可读性不强。

P.S. 请不要用2+3*4这样的白痴例子。如果在算术运算中发生了这样一个带有优先级的聪明举动,我绝对会毫不犹豫地把它称为一个真正的错误。

顺便说一下。

  1. 分布性法则(打开括号)。
    x 1或(x 2和x 3 )=(x 1或x 2 )和(x 1或x 3 )
    x 1和(x 2或x 3 )=(x 1和x 2 )或(x 1和x 3
    )。
  2. ...

由此可见,从布尔代数的角度来看,和的运算具有相同的优先级。

安德烈,是什么让你得出结论,布尔代数中这些运算的优先级是相等的?反例。

在a=1, b=0, c=0时

(a或b)和c=(1或0)和0=0

a或(b和c)=1或(0和0)=1

 
如果开发者来自国外,至少会因为发现了这个错误而感谢这个话题发起人。而这个话题会很快被关闭,指的是修复的工作已经在紧锣密鼓地进行:他们很重视自己的声誉(这要花很多钱)。 而我们说 "你这个傻瓜",请阅读文件、规格、表格等。如果MT4有一个竞争对手,就不会出现这种情况。
 
MuruFigi >> :

MQL编译器是用什么开发的?毕竟,如果是用普通语言开发的,程序员首先应该被他们的乘法和加法运算具有同等的优先权这一事实所震惊。他们怎么可能错过呢?

好吧,这里是另一个过度的例子。而话题发起人却报告说,他是以开玩笑的方式发起这个话题的,毕竟到这个时候已经读过文档了。

 
Rosh >> :

好吧,这里是另一个过度的例子。而发起人却说他是以开玩笑的方式开始这个话题的,毕竟到这个时候已经读过文档了。

我已经得到了它 :-) 也许真的是这样,伟大的发现是在目标截然不同的情况下轻松完成的。

 
Galaxy >> :

我已经受够了:-)。也许,伟大的发现确实是在轻松的情况下做出的,具有相当不同的目的。

这个 "发现 "很难说是一个伟大的发现。值得一提的是,只需说明这一事实,就可以把它忘掉。一般来说,布尔运算的优先级这个话题很牵强:对于开发者来说,简单地禁止用不同的运算建立不带括号的布尔表达式,并将这种构造视为无效,会更便宜。

 
Mathemat >> :

安德鲁,你究竟从什么地方推断出布尔代数中这些运算的优先级是相等的?反例。

在a=1, b=0, c=0时

(a或b)和c=(1或0)和0=0

a或(b和c)=1或(0和0)=1

a = 美丽

b = 聪明

c = 丰富

x = a && b && c ;

y = a || b || c ;


我想知道你更喜欢哪一个,Andrei:x = 1还是y = 1?

 
Mathemat >> :

安德鲁,事实上,你从什么地方推断出布尔代数中这些运算的优先级是相等的?

从操作的对称性来看。而操作的对称性直接来自于分配的公式。

一个对称性操作不能优先于另一个。

>>:

我想知道,安德烈更喜欢什么:X=1还是Y=1?

埃里克,我更希望在争论时不要带有个人色彩和讥讽。

___________________________________

总之,我的观点是。

在布尔代数方面,表达式A &&B || C的结果是未定义的。