社区
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;
}
怎么理解这个函数。
...全文
135
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写文章
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
MATLAB
快速
傅里叶变换(fft)结果为什么是复数?
文章核心是两部分: (1)从直观和本质的角度,说明为什么
快速
傅里叶变换的结果是复数; (2)详细说明了MATLAB中fft
函数
的运用方法,并给出了fft幅度谱的求解代码。 但要真正了解
快速
傅里叶变换,核心是理解“FFT的计算原理”!!! 目录 一、直观解释 二、本质原因之FFT的计算原理 (关键) 三、MATLAB中fft
函数
说明
函数
形式 参数说明 四、 FFT求频率-幅值谱的MATLAB 代码 一、直观解释 第一,从定义式上看,积分号里含有复数,积分结果是复数; 第二,从傅立叶变
快速
更改Excel COUNTIF
函数
的结果
统计
函数
countif
快速
更改Excel COUNTIF
函数
的结果 (Quickly Change Results for Excel COUNTIF Function)You're comfortable with Excel, and can change formulas on the fly, when necessary. If you're creating Excel workbo...
用SPSS的评分向导功能
快速
得出模型预测结果
了解过机器学习和深度学习原理的小伙伴们应该
知道
,它们的本质就是通过数据训练出具备一定准确率的模型,然后将要预测的数据输入到模型中,就可以得出预测结果。那么在IBM SPSS Statistics中,有没有类似的功能,能让我们
快速
应用训练好的模型,获得模型预测结果呢? SPSS的评分向导就是这么一个应用模型预测结果的功能,我们一起来探索下它的使用方式。 一、生成模型 要使用SPSS的评分向导,我们首先需要先训练出一个算法模型,以简单的线性回归算法为例,我们准备好下图1的数据来训练线性回归模型。 .
c++中
快速
排序
函数
一)为什么要用c++标准库里的排序
函数
Sort()
函数
是c++一种排序方法之一,学会了这种方法也打消我学习c++以来使用的冒泡排序和选择排序所带来的执行效率不高的问题!因为它使用的排序方法是类似于快排的方法,时间复杂度为n*log2(n),执行效率较高! PS:如果需要排序的树木较多的话,这就是一个极好的排序方法… (二)c++标准库里的排序
函数
的使用方法 I)Sort
函数
包含在头文件为#inc...
数据结构与算法之美 | 你
知道
快速
排序,那你
知道
它的衍生应用吗?Partition
函数
快速
排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用,再加上
快速
排序思想----分治法也确实实用,因此很多软件公司的笔试面试,包括像腾讯,微软等知名IT公司都喜欢考这个,还有大大小小的程序方面的考试如软考,考研中也常常出现
快速
排序的身影。 今天我们就来深入挖掘快排中Partition
函数
的应用!...
C#
111,129
社区成员
642,540
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章