作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在做一个项目,某段时间遇到了这个问题。我有两个非常大的数字,我想将它们相除并得到一个整数/长整数。这是正在发生的事情:
代码
#include <iostream>
using namespace std;
int main(){
long long n,m;
cin >> n >> m;
cout << n/m << endl;
}
输入可以是 100,000,000,000,000,000 之前的数字,因此除法执行错误。
输出
#1 n: 76543210987654321 m: 7654321
#2 76543210987654321/7654321 = 1410312449
正确答案是 10,000,000,130 所以我想知道发生了什么...
最佳答案
正确的结果既不是1410312449
也不是10000000130
。它等于 10000000129
至少它是 GCC 在 www.ideone.com 上显示的内容。你可以自己试试。
#include <iostream>
int main()
{
long long n = 76543210987654321;
long long m = 7654321;
std::cout << n / m << std::endl;
return 0;
}
你好像把运算的结果放在了int
类型的对象中。考虑以下代码
#include <iostream>
int main()
{
long long n = 76543210987654321;
long long m = 7654321;
int x;
x = n / m;
std::cout << n / m << std::endl;
std::cout << x << std::endl;
return 0;
}
输出是
10000000129
1410065537
关于c++ - 长长除错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25947695/
我无法在附加行中显示“真”、“假”、"is"和“否”按钮。 我在这里有一个应用程序:Application 请按照以下步骤使用应用程序: 1。当你打开应用程序时,你会看到一个绿色的加号按钮,点击 在此
我是一名优秀的程序员,十分优秀!