C++ STD::div不返回预期结果
我在我的机器上运行了这个代码,它输出:11/5=2.1现在我可能疯了,但11/5=2.2 我读入了引用,它说div_t.rem是x%y,在本例中等于1,但是如果std::div没有返回11/5的预期结果,它怎么能成为语言的一个特性呢C++ STD::div不返回预期结果,c++,C++,我在我的机器上运行了这个代码,它输出:11/5=2.1现在我可能疯了,但11/5=2.2 我读入了引用,它说div_t.rem是x%y,在本例中等于1,但是如果std::div没有返回11/5的预期结果,它怎么能成为语言的一个特性呢 #include <iostream> #include <cstdlib> int main() { std::div_t q; q = std::div(11, 5); std::cout <<
#include <iostream>
#include <cstdlib>
int main() {
std::div_t q;
q = std::div(11, 5);
std::cout << "11/5 = " << q.quot << '.' << q.rem << std::endl;
}
q、 rem持有剩余部分。11/5=2,余数为1,这些结果没有什么奇怪的地方。q.rem是整数除法的余数,而不是值的小数部分。这就是std::div的目的:不是除法并给出浮点结果,而是返回商和余数。否则,如果你有各种各样的运算符/,为什么要做一个除法的函数呢?