以下语句中,能够判断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 )

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

哈哈以上开个玩笑。

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

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

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

  • 该问题已关闭
  • 无法解析的外部符号 _strtoll
  • PHP 结束 C程序循环
  • 如何调用QQ影音的核心播放引擎?
  • eclipse修改了代码后,浏览器刷新没改变
  • 在不支持c++11的情况下,如何通过键访问const map的值
  • 请教while (n–)问题
  • C++编译出现 类型未声明
  • 用C连接oracle12c数据库, 编译.pc文件出错
  • 接受右值引用参数的模板函数
  • eclipse3.7.0Indigo用cdt大量语法错误,但又能成功编译