以下语句中,能够判断uiNum(unsigned int)可以被8整除的有

A、  If (((uiNum / 8)*8) == uiNum)
B、  if ((uiNum % 8) == 1)
C、  if ((uiNum &0×07) == 0)
D、  if (((uiNum >> 3) << 3 ) == uiNum )
阅读 5.1k
1 个回答

考试攻略:A、B、C不能过编译,所以选D。

哈哈以上开个玩笑。

其实A、C、D都可以。这三项都是一个意思,通过判断二进制后三位是不是全0来判断是不是被8整除。

比如我们在10进制下,判断能否被1000 (=10^3)整除,肯定就是检查后三位是不是全0。
则2进制下,判断能否被8 (=2^3)整除,也是一样。

另外,这个问题违反了《提问的智慧》中“不要询问家庭作业”的规范。
并且,不该问到101里吗?
最后,不遵守Markdown语法必须差评啊。

推荐问题
logo
101 新手上路
子站问答
访问
宣传栏