周期系列が得られる最大の限度を超えてシフト:は、私はコードブロックIDE上で、それを次のコードを書いて実行している
main()
{
unsigned char num=1;
unsigned char i=0;
for(i=0;i<255;i++)
{
printf("%d\n",num>>i);
}
}
出力: 1,0,0、...(31 0)、1,0 ..(31 0)
任意の値numは、定期的なシーケンスを生成します。
制限を超えてシフトすることはわかりませんが、それはなぜ定期的なのですか?
周期系列は、あなたはそれが未定義の動作の可能な症状だから定期的なことが許されます
"限界を超えてシフトすることはわかりませんが、それはなぜ定期的なのですか?"あなたの声明は矛盾していると思いませんか? – usr
未定義=特定のユニバーサルロジックがない、Periodic =繰り返すときの論理を置くことができる –
assember 32ビットシフト命令の中には、右オペランドに5ビットしか受け入れないので、 'num >> i'は' num >>私と&0x1F) '。 – mch