简介:本文的首席执行官注释将介绍与Python Integer Binary Binary有关的1个。我希望这对每个人都会有所帮助。让我们来看看。
给出第10次-TO -MADE和2n -IN -MADE.SESSENCEYOU可以基于2nd -in -in -proof。4-bit 2nd -in -in -in -production -1 -bit hexadecimal,以及16个隔热。3-bit 2nd -in -in -in -fuctuction是1 -bit 8th -Include uscesstream.hint a [100];//记录第二个数据int icount;//记录第二个-in -made integer.number int dcount;//记录两个 - 固定十进制数字void iten_two(int ten)//整数转换{int i = 0;大约(ten1){a [i] =十%2;十=十/2; // 2; // 2; // 2; //不在乎前所未有的i ++;iCount ++;} if(ten = 1){a [i] = 1;icount ++;}} void dten_two(float d)//十进制转换{int i = icount;dcount = 0;a [i [i] = 0;while(d!= 0 i100){d = d*2;if(d = 1){a [i] = 1;d = d-1;} else a [i] = 0;i ++; dcount ++;}} void out(){cout“ is:”;for(int i = icount-; i - )复制[i];“ = icount; jicount+dcount; j ++)couta [j]; coutendl;} void main(){float x; int b = 1; //结束徽标(b == 1){int i; d; d; d; d; d;/小数零件icount = 0; dcount = 0; cout“请输入10英寸制作的浮点号:) (我)
复制代码如下://确定多少1个void totalOne(int x){int count = 0;大约(x){x = x(x -1);count+;} printf(“ count =%d/n”,count);}循环:x = x(x -1);计数++;直到x为0。该方法的时间复杂性为O(M)。假设x的第一个位置是1的第一个二进制位置,即AI =,它可以表示为x = an-2 ... a0。1.在这次:x = an-2 ... ai+1100 ... 0 1(x-1)= an-2 ... ai+1011 ... 1 2很明显,从公式1中,可以是得出结论,在第一个x(x-1):x = an-1an-2 ... ai+1000 ...重复x的二进制位置后相同的操作。从上面可以看出每个x之后(x)执行-1),x的二进制位置的最低位的值为0到0,并且计数将添加1。
#includestdio.h
int solve(int n)
{{{
int ans = 0;
而(n)
ANS+= N1,n = 1;
返回ANS;
}
int main()
{{{
int n;
scanf(“%d”,n);
printf(“%d的二进制号为%d 1。
”,n,求解器(n));
返回0;
}
第一个方法:整数中二进制中的1个单个1的简单操作。时间复杂性是log2(n)。
#includestdio.h
int solve(int n)
{{{
int ans = 0;
而(n)
ans ++,n =(n-1);
返回ANS;
}
int main()
{{{
int n;
scanf(“%d”,n);
printf(“%d的二进制号为%d 1。
”,n,求解器(n));
返回0;
}
第二种方法:通过在二进制的右端删除1来计算整数二进制中的1个数量,时间复杂性与二进制中的1数有关。
计算机中的数字最初用于二进制存储,因此计算过程也是二进制的。使用一些位计算的特性,可以轻松计算以计算1个数量。
有一个非常有趣的功能:只要给出一个二进制号,例如n = 10001100,我们减去它:n-1 = 100010111。
10001100(n)
10001011(N-1)
通过观察,n中1的最低位置是第三名,而n-1和n的三个位都不同。如果您执行“位置和“操作”,即n(n-1)= 10001000。
10001100(n)
10001011(N-1)
10001000(n(n-1)))
您可以看到所有3位都变成0。
如果您的数学足够好,可以得出结论:
[结论]可以使用消除整数n,n = n(n-1)的1个。
如果您不相信,可以尝试更多的数字或考虑。
使用结论,很容易问二进制有多少个:
int countbit(int n){
int count = 0;
while(n!= 0){
n = n(n-1);
计数++;
}
返回计数;
}
只需计算输入x%2的数量,如果等于1,计数1;然后x/= 2;重复上述操作直到x == 0,然后输出1的计数就足够了。
Def Countone(NUM):
结果= 0
num!= 0:
结果+= num%2
num = 1
返回结果
结论:以上是首席CTO注释为每个人编写的Python Integer二元二元的1个。感谢您花时间阅读内容,不要忘记在此网站上找到它。