|
|
1
4
从C++标准看:
或
|
|
|
2
2
数字文本是
在上面的表达式中,*运算符将返回
|
|
|
3
1
同意@feiXiang。基本上是两个整数相乘。要进行正确的计算,必须将大数值定义为long double。请参见下面的代码:
输出:
|
|
|
4
1
实际上,调用未定义的行为时使用:
首先,评估
由于带符号整数类型中的溢出未定义,您刚刚触发了未定义的行为。但在这种情况下,有可能解释发生了什么,即使它是UB。
计算只保留最低的32位,应该是
这就是你看到的。
为了克服这个问题,或者使用
或者
|
|
|
5
0
和 是整数,则100000000*99999的结果在分配给变量之前将是一个整数,并且结果超出整数范围。 您应该确保结果是长双优先:
或者
|
|
AstralHex · 矩阵乘法代码工作不正常 1 年前 |
|
|
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 1 年前 |
|
|
Die4Toast · 递归调用成员箭头运算符-> 1 年前 |
|
|
Anka Hanım · 关于结构和动态数组地址的问题 1 年前 |