![]() |
1
6
更新 海报解决了他的问题。
1)这是预期的输出,因为您在int.maxvalue中添加了3,导致溢出。在.NET中,默认情况下,这是未选中代码中的合法操作,为负值提供环绕,但如果添加
2)变量的类型声明为
3)未转换为其他类型。 |
![]() |
2
3
|
![]() |
3
3
1)
没有理由int不能保存值-2147483646。在-2147483648..2147483647范围内。
2)
表达式中的操作溢出,而不是将结果赋给它溢出的变量。
3)
|
![]() |
4
1
|
![]() |
5
1
这是因为位表示法 您使用Int32,但char(8位)也是如此 第一个位保留符号,接下来的位保留数字
所以用7位可以表示128个数字
当你试一试1299号的时候,
|
![]() |
6
0
.NET中的算术运算不会更改实际类型。
这也是为什么在执行此操作时会得到意外的整数:
或
关于那件事。
编辑
以下内容:
|
![]() |
7
0
通过使用十六进制符号,您可以使这对我们所有人都更容易。 不是每个人都知道第八个梅森素数是0x7fffffff 只是说 |
![]() |
8
0
如果您希望抛出异常,请编写
相反。这将检查是否溢出。 此外,在C中,默认设置是不在溢出上引发异常。但您可以在项目属性的某个地方切换该选项。 |