私は初心者であり、私はdev C++を使用しています。私はそのかなりシンプル。それはである象限を決定するために関数を記述しようとしていますが、私は、バイナリ< <にエラー[エラー]無効なオペランドを取得しています(「フロート」と「INT」を持っている)バイナリへの無効なオペランドのエラー
#include <stdio.h>
int quadrant (float i, float j);
int main()
{
float a,b;
int c;
scanf ("%f,%f",&a,&b);
c=quadrant(a,b);
printf("the given point lies in %d quadrant",c);
return 0;
}
int quadrant (float i, float j)
{
if (i>>0 && j>>0)
return 1;
else if (i>>0 && j<<0)
return 4;
else if (i<<0 && j>>0)
return 2;
else if (i<<0 && j<<0)
return 3;
else
return 0;
}
浮動小数点数はバイナリオペランドで使用できないのですか? 浮動小数点数をint、すべての浮動小数点数に置き換えました。今回コンパイルすると、エラーIDが返されます:1のステータスを返します。 私のコードで何が問題になっていますか?
ビットシフトなどの_bitwise_演算子では、浮動小数点演算は使用できません。 ( "2進"演算子は2つのオペランドを持つ演算子です) –
ビットシフト演算子 '<<' and '>>は' <'より小さい比較演算子と'> 'よりも混同されましたか?これらはもちろん、浮動小数点数で使用できます。 –
シフト演算子である '>>'と '' << 'は必要ありません。あなたは単に '>'や '<' or '> ='や '<='を使いたいだけです。 –