c语言中如何提取二进制数中的某一位?

日期:2019-09-13 21:05:38 人气:1

c语言中如何提取二进制数中的某一位?

下面是三种方式: ①通过模2除2(%2、/2)的方法 num%2??取出二进制的最后一位 num/2??右移去掉二进制的最后一位 通过while循环,依次取出二进制的最后一位数字判断是否为1,若为1则count++,while(num)只有当num变为0时循环结束。 问题:在测试-1出现bug,-1的二进制中应该有32个1,输出却为0。我们将-1带入代码中发现-1%2=0,count不增,然后-1/2=0,循环结束,故输出count的值为0。 解决方案:将变量num的数据类型改为u
    A+
热门评论