九进制化为二进制c语言2进制

2003年9月全国计算机等级考试二级c语訁2进制笔试试题-中大网校

付费资料是一类需要单独购买的资料非VIP用户原价购买,VIP用户可以享受8折的优惠价格

在求对二的补码时表达式 x &= (x – 1)可鉯删除 x 中最右边值为 1 的
一个二进制位。请解释这样做的道理用这一方法重写 bitcount 函数,以加快其执行速度



 此表达式会干掉x最右边的1。
 暂时稱&左边的二进制数为1号&右边的二进制数为2号
 先来看1号最右位为1的情况:
 “&”是按位与,
 1号与2号唯一的差别就是最右位
 其他位&后结果不變
 就相当于把最右边一个1干掉了
 1号的最右位是0,发生了借位
 然后1号和2号进行&运算:
 
 可以看到1号和2号有两位不同
 0&1得0,这两位都被干掉了
 无論 x 最右边的数是1还是0
 x =& (x-1)都可以把最右边的一个1干掉
写注释真的好恶心啊...( ̄ェ ̄;)
将c语言2进制的十进制整数设为整數类i则下面属于类i的实例的是(     )
  • 解题思路:整数类的实例一定是整数,并且不能使用科学计数法故本题选B。

版权所有:广州求知教育科技有限公司

我要回帖

更多关于 c语言2进制 的文章

 

随机推荐