优先级比加法

为了正确评价一个表达式,如4 + 2 * 3,我们必须了解运营商所做的,和正确的顺序来应用它们。在复合表达式中的运算符的顺序被称为运算符优先级。使用正常的数学优先级规则(其中的乘法是解决之前,此外),我们知道,上述表达式应评估为4 +(2 * 3)产生的值10。
在C++中,所有操作都分配了一个级别的优先。那些具有最高优先权的评估优先。您可以在下面的表中看到乘法和除法(优先级别5)有一个更高的优先级比加法和减法(优先级6级)。编译器使用这些级别来确定如何评估它遇到的表达式。
因此,4 + 2 * 3的计算结果为4 +(2 * 3),因为乘法有一个更高的优先级比加法。

如果两个具有相同优先级的运算符表达水平在彼此相邻的关联规则告诉编译器是否对运营商从左到右或从右到左。例如,在表达式2 * 4 / 3中,乘法和除法运算符都是优先级别5。5级有左至右关联,所以表达式是从左到右的解决:(3×4)/ 2 = 6。


一些运营商,你应该已经认识到:+,-,*,/,(),(),<,>,<。这些算术和关系操作符,C++有相同的含义,因为他们在天天使用。
然而,除非你有另一种编程语言的经验,它很可能在这张表中的大多数运营商将是无法理解的,现在你。这是预期在这一点上。在这一章中,我们将涉及其中的许多,其余的将介绍,因为有需要他们。
上表的主要目的是做一个参考图,你可以回到未来的解决任何优先或关联性问题你有。
我如何做指数?
你会注意到,^算子(通常用来表示在标准的数学术语指数)是C++中的按位异或运算。C++不包括指数算子。在C++做的指数,#包括<< cmath >头,并使用pow()功能:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
// note: exp must be non-negative
int pow(int base, int exp)
{
    int result = 1;
    while (exp)
    {
        if (exp & 1)
            result *= base;
        exp >>= 1;
        base *= base;
    }
 
    return result;
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值