.NET算术运算溢出问题
来源:互联网 发布:微信游戏源码带后台 编辑:程序博客网 时间:2024/04/30 12:30
.NET中对算术运算溢出的处理是很灵活的,默认不检查溢出与否,例如以下代码:
int i = 2000000000;
int j = 2000000000;
int k = i + j;
k将会得到结果:-294967296,显然是运算溢出了。
我们可以使用关键字checked强制编译环境对算术运算溢出进行检查,如下代码:
try
{
checked
{
int i = 2000000000;
int j = 2000000000;
int k = i + j;
this.textBox1.Text = k.ToString();
}
}
catch (Exception e1)
{
MessageBox.Show(e1.Message);
}
此时将会得到一个算术运算溢出的异常:OverflowException,我们可以使用此类替换Exception类。
我们亦可以通过项目的属性设置使得整个项目都对算术运算溢出进行检查,设置方法:
项目属性面板->生成->高级,在高级生成设置中选择“检查运算上溢/下溢”。如图:
这样设置以后编译器将会对项目内的所有代码进行溢出检查。
如果其中部分代码不需要检查,则可以使用unchecked关键字,取消代码的溢出检查。如下代码:
unchecked
{
int i = 2000000000;
int j = 2000000000;
int k = i + j;
this.textBox1.Text = k.ToString();
}
上述代码中k将会得到结果:-294967296。
- .NET算术运算溢出问题
- .NET算术运算溢出问题
- javascript算术运算溢出
- Swift中的"可溢出"算术运算符
- Oracle C#的"算术运算导致溢出"错误
- vb.net---算术运算的先后顺序
- 关于C#算术运算符的问题
- 关于 js 算术运算时精度问题
- 算术运算符中的“++”、“——”问题
- 算术运算
- 算术运算
- 算术运算
- 算术运算
- 算术运算
- 算术运算
- 算术运算
- 算术运算
- 算术运算、关系运算
- error LNK2001: 无法解析的外部符号
- ubuntu下获取命令的源代码
- JS 知识
- 网站优化的六个必须的步骤
- 软件架构师应该知道的97件事
- .NET算术运算溢出问题
- Ubuntu的root用户
- [转]JavaScript中的trim函数
- 用JS接收参数的方法--转
- android Activity类的使用
- DVSDK开发环境搭架(RT)
- porting iperf to Android platform
- vc 读取execl 日期和时间格式
- SQL子查询实例