首页 > 用户投稿

c语言判断二进制中1的个数 如何计算一个数的二进制有多少个1?

如何计算一个数的二进制有多少个1?

计算机中的数字是二进制存储的,所以计算过程也是二进制计算。利用某些位运算的特点,很容易计算出1的个数。有一个非常有趣的特性:对于任何二进制数,例如n=10001100,我们将其减去1:n-1=10001011。

二进制中11等于多少,为什么,怎么算的?

首先,在二进制中,11=10,而不是11=1,二进制0和1是在计算机中使用的最好和最简单的方法,11=10,每两个变成一个。利用某些位运算的特点,很容易计算出1的个数。有一个非常有趣的特性:如果你给出一个二进制数,比如n=,我们将它减去1:n-1=。再提出观察:(n)(n-1)通过观察,n中1的最低位置是第三位,而n-1和n的下三位都不同。如果执行“按位与”操作,即n(n-1)=。(n)(n-1)(n(n-1))您可以看到所有三个位都变为零。如果你数学够好,你可以得出结论:[结论]要去掉整数n中的最小1,你可以用n=n(n-1)。如果你不相信,你可以尝试更多的数字或再考虑一下。利用这个结论,很容易问二进制中有多少个:ltpret=“code”l=“cpp”>intcountbits(intn){intcount=0while(n!=0){n=n(n-1)计数}返回}

c语言判断二进制中1的个数二进制中1的个数如何判断二进制1的个数

原文标题:c语言判断二进制中1的个数 如何计算一个数的二进制有多少个1?,如若转载,请注明出处:https://www.saibowen.com/tougao/21541.html
免责声明:此资讯系转载自合作媒体或互联网其它网站,「赛伯温」登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,文章内容仅供参考。