真か偽:ビット演算|そして|どのような状況私は一例で私の質問を表示し、C#で
int a = 1 << 0; // = 1
int flag = 1;
bool b = flag & a; // = 1 < In c++ this line has no error but in c# error is like this :
はタイプ「ブール」と 'int型のオペランドに適用することはできません
b
変数がの場合となり、b
変数がの場合がC#どのようにエラーを修正しますか?
b
変数が本当にC++で認識されるのはいつですか?もう一方の側は(flag & a) != 0
または(flag & a) == 1
などにする必要がありますか? C#ので
本当にわからないが、あなたは、C#で、すべてのC++コードをコンパイルすることはできません。 – Habib
私が知る限り、C++は1を真とみなします。参照してください:http://stackoverflow.com/questions/2725044/can-i-assume-booltrue-int1-for-any-c-compiler – Habib
@Habib C++は0を「偽」とみなし、他のすべての値「真」であること –