结果为啥是:8

rambo2008 2011-10-20 05:15:12
//结果为啥是: 8

#include <iostream>
using namespace std;

int func(int x)
{
int countx = 0;
while (x)
{
countx++;
x=x&(x-1);
}
return countx;
}

int main()
{
cout<<func(999)<<endl;
return 0;
}
...全文
79 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
肆异 2011-10-20
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 w0917141 的回复:]
一步一步调试一下,看哈countx和x值的变化就晓得啦,@是按位与的意思
[/Quote]

是& 不是@ 打错了~~
肆异 2011-10-20
  • 打赏
  • 举报
回复
一步一步调试一下,看哈countx和x值的变化就晓得啦,@是按位与的意思
匚匚 2011-10-20
  • 打赏
  • 举报
回复



int test(size_t n)
{
size_t a=0;
for(int i=1;i;i<<=1)
{
if(n&1) ++a;
n>>=1;
if(!n) break;
}
return a;
}
rambo2008 2011-10-20
  • 打赏
  • 举报
回复
谢谢大家
turing-complete 2011-10-20
  • 打赏
  • 举报
回复
x=x&(x-1); 这个经典语句的作用是,去掉x最低处的1
pathuang68 2011-10-20
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 luciferisnotsatan 的回复:]

有8个bit位是1
[/Quote]
这个程序是计算一个数字转换成二进制后,其中有多少位(bit)是1。

999的二进制是1111100111,一共有8个bit是1
ouyh12345 2011-10-20
  • 打赏
  • 举报
回复
调试一下,看看 x=x&(x-1);后x是什么
turing-complete 2011-10-20
  • 打赏
  • 举报
回复
数二进制位中有几个 bit 1
luciferisnotsatan 2011-10-20
  • 打赏
  • 举报
回复
有8个bit位是1
PyTorch版的YOLOv5是轻量而高性能的实时目标检测方法。利用YOLOv5训练完自己的数据集后,如何向大众展示并提供落地的服务呢?   本课程将提供相应的解决方案,具体讲述如何使用Web应用程序框架Flask进行YOLOv5的Web应用部署。用户可通过客户端浏览器上传图片,经服务器处理后返回图片检测数据并在浏览器中绘制检测结果。   本课程的YOLOv5使用ultralytics/yolov5,在Ubuntu系统上做项目演示,并提供在Windows系统上的部署方式文档。 本项目采取前后端分离的系统架构和开发方式,减少前后端的耦合。课程包括:YOLOv5的安装、 Flask的安装、YOLOv5的检测API接口python代码、 Flask的服务程序的python代码、前端html代码、CSS代码、Javascript代码、系统部署演示、生产系统部署建议等。   本人推出了有关YOLOv5目标检测的系列课程。请持续关注该系列的其它视频课程,包括:《YOLOv5(PyTorch)目标检测实战:训练自己的数据集》Ubuntu系统 https://edu.csdn.net/course/detail/30793 Windows系统 https://edu.csdn.net/course/detail/30923 《YOLOv5(PyTorch)目标检测:原理与源码解析》https://edu.csdn.net/course/detail/31428 《YOLOv5(PyTorch)目标检测实战:Flask Web部署》https://edu.csdn.net/course/detail/31087 《YOLOv5(PyTorch)目标检测实战:TensorRT加速部署》https://edu.csdn.net/course/detail/32303

64,647

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧