私は2つの座標を比較しようとしています。オペレータ> =は実際に真のときにfalseを返します
exit = ((p.x * sign_x) >= end_pos.x) && ((p.y * sign_y) >= end_pos.y);
cout<< p.x * sign_x << " >= " << end_pos.x
<< "=" << std::boolalpha << ((p.x * sign_x) >= end_pos.x)
<< " "
<< p.y * sign_y << " >= "<< end_pos.y
<< "=" << std::boolalpha << ((p.y * sign_y) >= end_pos.y)<<endl;
exit
変数がtrue
なりません:私は私のループはこれのために停止したことがないことがわかりました。コンソールで私は参照してください:
9435.6 >= 132.6=true 180 >= 180=false
どのようにすることができますか?
すべての変数はfloat
です。値は上に書かれています。値として180
の変数は決して変更されません。
あなたの値はどのタイプですか? – mydogisbox
フロート/ダブルであれば、それが起こる可能性があります。 – nullpotent
これは演算子 '> ='についてではありませんか? –