标签: operator-precedence

Python 中的运算符优先级 -PEMDAS

我读到关于Python遵循PEMDAS的内容,即乘法的优先级高于除法。

我运行了以下脚本

print 6*2/1*2
Run Code Online (Sandbox Code Playgroud)

因此 python 应该将其解释为 12/2 即 6 ,因为乘法的优先级高于除法。

但是,答案是24。谁能告诉我问题出在哪里?谢谢!

python operator-precedence operator-keyword

-1
推荐指数
1
解决办法
2303
查看次数

条件检查给出错误答案

#include <stdio.h>
int main(){
  printf("%d,%d\n", 2 & (1<<1) , 2 & (1<<1)>0 );
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

该程序的输出是2,0.

2 & (1<<1)等于 2,大于 0。那么为什么2 & (1<<1) > 0计算结果为零?

c bit-shift operator-precedence bitwise-and relational-operators

-1
推荐指数
1
解决办法
35
查看次数

"C - C++"关于后缀/前缀操作排序的笑话

我的朋友给我发了个笑话:

问:C和C++有什么区别?

A.没什么,因为:(C - C++ == 0)

我试图改变秩序并陷入困境.

看看这段代码:

public class Test {
    public static void main(String args[]) {
        int c = 10;         
        System.out.println(c++ - c);
        System.out.println(++c - c);        
    }
}
Run Code Online (Sandbox Code Playgroud)

为什么会回归:

-1
0
Run Code Online (Sandbox Code Playgroud)

我理解postfix和前缀增量.为什么不是这个结果?

0
1
Run Code Online (Sandbox Code Playgroud)

java syntax operator-precedence

-2
推荐指数
1
解决办法
406
查看次数

Javascript是否会违反数学PEMDAS惯例?

我被教导在数学中我们评估事物,首字母缩略词BODMAS Brackets,Orders(powers),Division,Multiplication,Addition,Subtraction.

我理解在Javascript中,*并且/具有相同的优先级.+-做.并且使用左关联性.

从我能想到的几个例子来看,它似乎同样有效,产生与BODMA相同的结果.

看起来在数学规则的实际情况中,首先进行加法或减法并不重要.是否可以在5-2 + 3之前完成附加或减法可能很重要.而对于除法和乘法,似乎只有一个问题,当除法时,除了9/3*4 必须首先进行除法.并且Javascript在该实例中首先执行.

但也许有一个例子可以打破它!它给标准数学带来了不同的结果.

Javascript可以打破逻辑数学规则吗?

最新情况:

为了回答自己,在数学时,人们说,PEDMAS D和M优先级相同,从左到右完成.并且同上A和S.你说他们是左联想的,即暗示括号的地方.因此,编程语言"实现PEDMAS"的优先级/优先级,DM和AS是左关联的,完全遵循PEDMAS规则.因此,如果有任何数学规则的破坏,则不是来自M,D,A,S的相关性,这与(常规)数学相同.此外,在数学中,一元减去这里是 - PEUDMAS所以-5 ^ 2 = - (5 ^ 2)= - 25.指数优先于一元减去.虽然javascript可能正确.显然,javascript破坏规则中的浮点,如某些答案中所示,尽管这不是我想到的,因为我的想法纯粹是PEDMAS,但似乎括号与浮点数有所不同,他们不应该在那里在正常的数学中,正如我接受的答案所示.

javascript math operator-precedence

-2
推荐指数
1
解决办法
3448
查看次数

+或 - 在Oracle算术中是否具有运算符优先级?

管理员的要求作出解释的以下工作如何扔了一个点,这我不确定.

select sysdate + (interval_difference * 1440) - sysdate
  from (select systimestamp - (systimestamp - 1) as interval_difference
          from dual )
Run Code Online (Sandbox Code Playgroud)

也就是说,加号还是减号都有运算符优先级?文档1列出了运营商订单,如下所示

+----------------------------+-------------------------------------------+
| Operator                   |Operation                                  |
+------------------------------------------------------------------------+
| +, - (as unary operators)  | Identity, negation, location in hierarchy |
| , PRIOR, CONNECT_BY_ROOT   |                                           |
+----------------------------+-------------------------------------------+ 
| *, /                       | Multiplication, division                  |
+----------------------------+-------------------------------------------+
| +, - (as binary operators) | Addition, subtraction, concatenation      |
| , ||                       |                                           |
+----------------------------+-------------------------------------------+

查询一旦减少就变成了date …

oracle operator-precedence

-2
推荐指数
1
解决办法
605
查看次数

初学者算术数学运算(Java)

问题是5/3*2.0 /(4%3)+ 5 = 7.0

出于某种原因,我不明白为什么这是有道理的.我首先划分5/6.0 = .83,然后除以(4%3即1)并加5,但我没有得到答案.你能详细解释一下吗?

谢谢.

java arithmetic-expressions operator-precedence

-2
推荐指数
1
解决办法
89
查看次数

位移位 &lt;&lt; 和乘法 * 优先级

在 Go Playground 上尝试了以下代码:

package main

import (
    "fmt"
)

func main() {
    log2Dim := uint32(9)
    
    SIZE := 1 << 3 * log2Dim
    fmt.Printf("Result: %v\n", SIZE)
    
    SIZE = 1 << (3 * log2Dim)            // => only difference: adding ( )
    fmt.Printf("Result: %v\n", SIZE)
}
Run Code Online (Sandbox Code Playgroud)

这是打印出来的:

Result: 72
Result: 134217728
Run Code Online (Sandbox Code Playgroud)

为什么仅仅添加包含and操作的( )语句就会产生巨大的差异?<<*

据此*具有更高的优先级,这<<是Google搜索bitshift优先级golang的第一个结果。

go operator-precedence

-2
推荐指数
1
解决办法
458
查看次数

将函数返回与简单数据类型进行比较的最佳实践是什么?

在 中C,比较条件条件中函数的简单数据类型的返回的最佳方法是什么?例如,有什么区别...

int x;
if(x = functReturnsInt() < 5)
...
Run Code Online (Sandbox Code Playgroud)

if(functReturnsInt() < 5)
...
Run Code Online (Sandbox Code Playgroud)

在进行比较之前是否需要存储 functReturnsInt() 的结果?

c if-statement operator-precedence conditional-statements

-2
推荐指数
1
解决办法
1238
查看次数

为什么a ++ = 5是错误的?

我刚刚在c中编写了一个代码

#include <stdio.h>

int main()
{
    int a=0;
    option1: a++=5;
    option2: ++a=5;
    printf("%d\n",a);

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

但它没有编译错误

lvalue required as left operand of assignment
Run Code Online (Sandbox Code Playgroud)

为什么会出错?谢谢!

c operator-precedence

-3
推荐指数
1
解决办法
555
查看次数

C语言操作员

#include <stdio.h>  

int main() 
{

    int a=-1?2:5 + 8?4:5;
    printf("%d\n",a);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

以上程序的输出是2.但为什么呢?请解释

c operators ternary-operator conditional-operator operator-precedence

-3
推荐指数
1
解决办法
68
查看次数