社区
C#
帖子详情
这个函数怎么快速知道结果
delectation
2008-10-10 04:42:09
static int test()
{
int x = 9999;
int count=0;
while (Convert.ToBoolean(x))
{
count++;
x=x&(x-1);
Console.WriteLine(x);
}
return count;
}
怎么理解这个函数。
...全文
110
10
打赏
收藏
这个函数怎么快速知道结果
static int test() { int x = 9999; int count=0; while (Convert.ToBoolean(x)) { count++; x=x&(x-1); Console.WriteLine(x); } return count; } 怎么理解这个函数。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Eagle_ice
2008-10-12
打赏
举报
回复
一楼了 想通了 就结帖撒....
zcs302
2008-10-12
打赏
举报
回复
想通了
dlmeijianyu
2008-10-10
打赏
举报
回复
一楼的是正确的.
ChargeForward
2008-10-10
打赏
举报
回复
[Quote=引用 1 楼 cpio 的回复:]
用来求一个整数的二进制表示时,有多少个1
[/Quote]
正解!
止戈而立
2008-10-10
打赏
举报
回复
[Quote=引用 4 楼 Jack_xiao 的回复:]
返回值count是8
9,9,9,9
1001,1001,1001,1001
9,9,9,8 =>返回值是7
1001,1001,1001,1000 =>7个1
9,9,9,7 =>返回值是7
1001,1001,1001,0111 =>9个1
一楼说的似乎不大对
[/Quote]
你的x变量是十进制的,并非十六进制,怎么可以转成这呢?
9999的二进制是:
0010011100001111
8个1
Jack_xiao
2008-10-10
打赏
举报
回复
这个函数似乎是一个衰变,返回值就是某个数按照这个衰变变为0的步数
Jack_xiao
2008-10-10
打赏
举报
回复
返回值count是8
9,9,9,9
1001,1001,1001,1001
9,9,9,8 =>返回值是7
1001,1001,1001,1000 =>7个1
9,9,9,7 =>返回值是7
1001,1001,1001,0111 =>9个1
一楼说的似乎不大对
Jack_xiao
2008-10-10
打赏
举报
回复
运行一下:
9998
9996
9992
9984
9728
9216
8192
0
cpio
2008-10-10
打赏
举报
回复
(Convert.ToBoolean(x))
判断是否含有1,如果有的话,肯定为真,count加1
x = x & (x - 1);去掉它的一个1
如果x最后一位是1,很明显,去掉了一个1
****1,减1的话,变成****0,再与一下,结果还是****0,少了最后的1
如果最后一位不是1
****0,减1之后,再与一下,最后一位肯定也是0,由于最后一位是0,减一之后肯定影响前面的,前面的也会少一个1
这样到最后没有1的时候就结束了,返回1的个数
cpio
2008-10-10
打赏
举报
回复
用来求一个整数的二进制表示时,有多少个1
c++中
快速
排序
函数
一)为什么要用c++标准库里的排序
函数
Sort()
函数
是c++一种排序方法之一...PS:如果需要排序的树木较多的话,这就是一个极好的排序方法… (二)c++标准库里的排序
函数
的使用方法 I)Sort
函数
包含在头文件为#inc...
快速
定位到
函数
指针所对应的
函数
从指针的名字来看很难判断这个
函数
的真实名字,实际上真正调用的是哪个
函数
,如果一个一个
函数
加打印,又过于太慢了,浪费大量的时间,本篇就是一种在不太熟悉整个程序架构的情况下能
快速
定位
函数
指针所指的
函数
的...
C++虚
函数
详解
C++的特性使得我们可以使用
函数
继承的方法
快速
实现开发,而为了满足多态与泛型编程这一性质,C++允许用户使用虚
函数
**(virtual function)来完成运行时决议这一操作,这与一般的编译时决定**有着本质的区别。...
计算机相乘求和的
函数
,Excel五大求和操作,除了sum
函数
你
知道
有几个?-excel乘法
函数
...
因为这个
函数
可以
快速
的对数据进行单一维度或多维度数据求和。今天我们来学习一下,数据求和过程中,5个高效的求和公式。一:Sum
函数
一秒
快速
求和案例说明:对人员1-6月销售数据进行一秒
快速
求和
函数
公式:=SUM(D2:I...
c语言实现 三角
函数
,关于数学:
快速
实现C ++三角
函数
较长的版本:我有一个程序,它非常注重数值(这是物理模拟),并且需要调用三角
函数
,主要是sin和cos。 当前,我只是在使用math.h中包含的实现。 分析显示,对这些
函数
的调用花费比我期望的要多(希望)。虽然在代码的...
C#
111,098
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章