首页 理论教育 C#数学运算符及溢出处理

C#数学运算符及溢出处理

时间:2023-10-22 理论教育 版权反馈
【摘要】:数学运算符适用于整型、字符型、浮点型和decimal型。数学运算符所连接生成的表达式被称为数学表达式,其处理结果的类型是参与运算类型中精度最高的类型。表4-2 C#数学运算符实例7:实现对指定数字的加、减、乘、除运算下面通过一个具体的实例来说明使用C#数学运算符的过程。在一般情况下,常见溢出的具体说明如下:整数算术溢出或者引发OverflowException,或者丢弃结果的最高有效位。小数算术溢出总是引发OverflowException。在checked上下文中引发OverflowException。

C#数学运算符及溢出处理

C#中的数学运算符用于实现+、-、*、/和%等算数运算其中包括一元运算符和二元运算符。数学运算符适用于整型字符型、浮点型和decimal型。数学运算符所连接生成的表达式被称为数学表达式,其处理结果的类型是参与运算类型中精度最高的类型。

C#中数学运算符的具体信息如表4-2所示。

表4-2 C#数学运算符

978-7-111-36370-5-Part01-236.jpg

实例7:实现对指定数字的加、减、乘、除运算

下面通过一个具体的实例来说明使用C#数学运算符的过程。本实例保存在“光盘:\daima\4”文件夹内,名为math。主要代码如下:

978-7-111-36370-5-Part01-237.jpg

978-7-111-36370-5-Part01-238.jpg

上述实例代码的设计流程如下。

1)分别定义变量firstNumber、secondNumber和userName。

2)通过ReadLine()分别获取用户输入的字符和数字。

3)将用户输入的两个数字分别进行加、减、乘、除和求余计算。(www.xing528.com)

4)将计算结果通过WriteLine()输出显示。

实例执行后将首先显示指定的文本,当输入一个名字和两个数值后,将显示输入数值的各计算的结果,具体如图4-1所示。

978-7-111-36370-5-Part01-239.jpg

图4-1 实例执行结果

多学一招

在上述实例中,通过数学运算符实现了简单的数学运算。在实际应用中,要避免运算符的溢出。算术运算符(+、-、*、/)产生的结果可能会超出所涉及的数值类型的取值范围。在一般情况下,常见溢出的具体说明如下:

978-7-111-36370-5-Part01-240.jpg整数算术溢出或者引发OverflowException,或者丢弃结果的最高有效位。整数被零除总是引发DivideByZeroException。

978-7-111-36370-5-Part01-241.jpg浮点算术溢出或被零除从不引发异常,因为浮点类型基于IEEE 754,因此可以表示无穷和NaN(不是数字)。

978-7-111-36370-5-Part01-242.jpg小数算术溢出总是引发OverflowException。小数被零除总是引发DivideByZero Exception。

当发生整数溢出时,产生的结果取决于执行上下文,该上下文可为checked或unchecked。在checked上下文中引发OverflowException。在未选中的上下文中,放弃结果的最高有效位并继续执行。因此,C#使用户有机会选择处理或忽略溢出。

除算术运算符以外,整型之间的强制转换也会导致溢出(例如,将long强制转换为int)并受checked或unchecked执行的限制。然而,按位运算符和移位运算符永远不会导致溢出。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈