0
の31ビットの値を読み出すことは私の質問であるは32ビット整数1つの方法の第31ビット(MSB)を読み出すために32ビット整数
int main(int argc, char *argv[]) {
int b =0x80005000;
if(b&(1<<31))
printf("bit is one\n");
else
printf("bit is zero\n");
return 0;
}
以下のとおりであり、これを行うための任意の他の最適な方法があります命令サイクルは少なくて済みますか?
必要なマスクをあらかじめ定義しておくだけです。 –
@ LongSmith - コンパイラがあまりにも愚かでないと仮定すると、マスクはあらかじめ定義されています – 4386427
最大限の最適化を行ってコードをコンパイルし、生成されたコードを見ましたか? – 4386427