因为乘法有一个更高的优先级比加法
来源:互联网 发布:知豆二手车evcar 编辑:程序博客网 时间:2024/05/22 07:59
为了正确地评估表达式,如4 + 2 * 3,我们必须了解运营商做什么,以及正确的顺序,适用于他们。运算符在复合表达式中计算的顺序称为运算符优先级。使用正常的数学优先规则(在加法之前求解乘法的状态),我们知道上面的表达式应该以4 +(2 * 3)来计算,以产生值。
在C++中,所有操作都分配了一个级别的优先。优先评价最高的。你可以在下面的表格中看到乘法和除法(优先级5)比加法和减法有更高的优先级(优先级为6)。编译器使用这些级别来决定如何评估它遇到的表达式。
因此,4 + 2 * 3计算为4 +(2 * 3),因为乘法有一个更高的优先级比加法。
测验
1)你知道从日常数学的括号内的表达式得到评估第一。例如,在表达式(2 + 3)* 4,(+ 3)部分进行评估第一。
对于这个练习,你得到了一组没有括号的表达式。使用运算符的优先级和结合性上面表中的规则,添加括号每个表达清楚编译器如何将计算表达式。
提示:使用样式表中的列以上判断经营者是否是一元(有一个操作数)或二进制(有两个操作数)。综述部分1.5,首先看运营商如果你需要对一元和二元运算符是一个进修。
在C++中,所有操作都分配了一个级别的优先。优先评价最高的。你可以在下面的表格中看到乘法和除法(优先级5)比加法和减法有更高的优先级(优先级为6)。编译器使用这些级别来决定如何评估它遇到的表达式。
因此,4 + 2 * 3计算为4 +(2 * 3),因为乘法有一个更高的优先级比加法。
如果两个具有相同优先级的运算符表达水平在彼此相邻的关联规则告诉编译器是否对运营商从左到右或从右到左。例如,在表达式3 * 4 / 2中,乘法和除法运算符都是优先级为5。5级有左至右关联,所以表达式是从左到右的解决:(3×4)/ 2 = 6。
1234567891011121314// note: exp must be non-negativeint pow(int base, int exp){ int result = 1; while (exp) { if (exp & 1) result *= base; exp >>= 1; base *= base; } return result;}如果你不理解这个函数的所有部分,不要担心。只是小心溢出你的整数结果,这可能会很快发生,如果任一参数是大。
测验
1)你知道从日常数学的括号内的表达式得到评估第一。例如,在表达式(2 + 3)* 4,(+ 3)部分进行评估第一。
对于这个练习,你得到了一组没有括号的表达式。使用运算符的优先级和结合性上面表中的规则,添加括号每个表达清楚编译器如何将计算表达式。
提示:使用样式表中的列以上判断经营者是否是一元(有一个操作数)或二进制(有两个操作数)。综述部分1.5,首先看运营商如果你需要对一元和二元运算符是一个进修。
0 0
- 因为乘法有一个更高的优先级比加法
- 优先级比加法
- 操作符的优先级更高!
- 因为运算符优先级而犯的一个错误
- 职业程序员真的比在学生时代会有更高的技术吗?
- 有符号整型加法与乘法
- “&”与“==”的优先级谁更高?
- 大数的加法与乘法
- 大数的加法,减法,乘法
- 分数的加法和乘法
- 多项式的加法乘法实现
- 短短的高精度加法乘法
- 多项式的加法与乘法
- 多项式的加法和乘法
- 矩阵的加法和乘法
- 判断两个有符号整数的加法和乘法是否溢出
- 值得注意的算法问题,“两次减法操作”竟然比“一次2倍乘法和一次加法”要慢一秒
- 一个基础而奇怪的问题:算法运行加法、乘法、除法性能无差别?
- Vue自定义组件
- Android弹框
- Spring MVC 参数转换(CustomEditorConfigurer)和类型转换器(ConversionServiceFactoryBean)
- 图像显著性检测和图像检索的标准图像库整理
- JavaScriptCore详解
- 因为乘法有一个更高的优先级比加法
- Spark常见问题解决办法
- Eclipse升级后之前代码异常处理
- use vue vuex vue-router, not use webpack
- web网站架构演变过程
- mqtt
- altera小实验——SRAM读取
- android support design Library库之snakeBar
- swift删除navigationBar底部一条黑线