C++ std::d iv 不返回预期结果

C++ std::div doesn't return expected results

本文关键字:返回 结果 iv std C++      更新时间:2023-10-16

我在我的机器上运行这段代码,它输出: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 << "11/5 = " << q.quot << '.' << q.rem << std::endl;
}

q.rem保留剩余部分。11/5 = 21的余数,这些结果没有什么奇怪的