求下面函数的返回值(微软) -- 统计1的个数
-------------------------------------
int func(int x)
{
int countx = 0;
while(x)
{
countx++;
x = x&(x-1);
}
return countx;
}
假定x = 9999
10011100001111
答案: 8
思路: 将x转化为2进制,看含有的1的个数。
注: 每执行一次x = x&(x-1),会将x用二进制表示时最右边的一个1
变为0,因为x-1将会将该位(x用二进制表示时最右边的一个1)变为0。
判断一个数(x)是否是2的n次方
-------------------------------------
#include <stdio.h>
int func(int x)
{
if( (x&(x-1))
== 0
)
return 1;
else
return 0;
}
int main()
{
int x = 8;
printf("%d\n", func(x));
}
注:
(1) 如果一个数是
2的n次方,那么这个数用二进制表示时其最高位为1,其余位为0。
(2)
==
优先级高于 &
分享到:
相关推荐
jbr_jcef-11_0_12-windows-x64-b1692.9 &&jpbc-2.0.0 &&bcprov-jdk15
移远4G模块文件管理AT指令文档,
jdk-8u221-linux-x64.tar.gz&jdk;-8u221-windows-x64.exe&jdk;-8u221-linux-x64.dmg,JDK8u221 Windows/Linux/Macos版本
windows系统redis安装文件,Redis-x64-3.0.504(稳定版);Redis-x64-3.2.100(预发行版);redis-desktop-manager-0.9.3.817(redis界面工具)。具体安装方法详见:...
jdk-8u221-windows-x64.exe&jdk;-8u221-linux-x64.tar.gz,JDK最新版本
X-force-win&mac;-Autodesk2013注册机 autodesk全系列注册机
华为 AD9431DN-24X-FAT&CLOUD-V200R019C00SPC913
当你单独安装过redmine,我是以bitnami方式一键安装的redmine,但是里面没有敏捷插件,所以,单独找了这个包,研究了下安装的过程,具体的安装教程可以查看我的专栏文章-Redmine Agile 敏捷开发插件单独安装教程以及...
因为oracle官网需要注册,所以就放在这里方便大家下载,包括windows和linux的,版本是最新jdk1.8;都是x64位的,32位的win包在另一个资源里。
Redis-x64-3.2.100&Redis-3.2.100-Windows-32下载整理的windows 64位&32位包。 欢迎下载。Redis-x64-3.2.100&Redis-3.2.100-Windows-32下载整理的windows 64位&32位包。 欢迎下载。Redis-x64-3.2.100&Redis-3.2.100-...
快手新市井·达人商业价值白皮书-磁力引擎&克劳锐-2021-57页.pdf
02-D2-4 原理 & 02-D2-5 实现 & 02-D2-6 实例#数据结构邓神版本A:原理减治之:以任元素x = S[mi] 为界限,都可以将带查找的区
hadoop2.7版本本地安装运行必须的winutils.exe和hadoop.dll以及Hadoop-2.7.7-Windows10x64位需要的bin、hadoop-eclipse-plugin-2.7.7.jar
1. 型号(通过 display version 命令查询):S6520-16S-SI、S6520-24S-SI、S6520X-18C-SI、S6520X-26C-SI、S6520X-16ST-SI、S6520X-24ST-SI、S6520-26Q-SI、S6520X-10XT-SI、S6520X-16XT-SI、S6520X-26XC-UPWR-SI、...
文件为百度云下载链接,包含2.4.1 64位和32位,2.6.0 64位,编译环境均为CentOS 64 ...hadoop-2.4.1-x64.tar.gz ----2.4.1 64位 hadoop-2.4.1-x86.tar.gz ----2.4.1 32位 hadoop-2.6.0-x64.tar.gz ----2.6.0 64位
深入解析 MAC OS X & IOS 操作系统-共4卷(2/4)
TortoiseSVN-1.8.8.25755-x64-svn-1.8.10和AnkhSvn-2.5.12471.17
网络设备
angular-yoeman一个yoeman + angular的简单代码安装环境(mac 不知道windows会是什么样 不确定) :1、你必须要有(没有的话去装,网上应该一大堆)Node.js v0.10.x+npm (which comes bundled with Node) v2.1.0+git...
看到好多下载svn中文包的都要积分,没意思都是免费...TortoiseSVN-1.10.5.28651-x64-svn-1.10.6 LanguagePack_1.10.5.28651-x64-zh_CN TortoiseSVN-1.8.12.26645-x64-svn-1.8.14 LanguagePack_1.8.12.26645-x64-zh_CN