2016-10-06 6 views
-4

を返しません。私は私のマシンとその出力にこのコードを実行しました:11/5 = 2.1今、私は夢中になるかもしれないが、11/5 = 2.2C++のstd :: div要素が期待される結果

私が参照に読み込まれ、それが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; 
} 
+7

'q.rem'は整数除算の剰余であり、値の小数部分ではありません。 –

+0

これは 'std :: div'の目的です:除算を行わず、浮動小数点の結果を返すのではなく、' quot'ientと 'rem'ainderを返します。さもなければ、なぜあなたは 'operator /'のすべての種類を持っている場合、除算を行う関数を作成しますか? – ForceBru

答えて

9

q.remは残りを保持する。 11/5 = 2残りは1ですが、これらの結果については奇妙なことはありません。

+0

うわー、私は何かが欠けていたことを知っていた...ありがとう –

関連する問題