博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
<OFFER15> 15_NumberOf1InBinary
阅读量:4349 次
发布时间:2019-06-07

本文共 1534 字,大约阅读时间需要 5 分钟。

1 // 面试题15:二进制中1的个数 2 // 题目:请实现一个函数,输入一个整数,输出该数二进制表示中1的个数。例如 3 // 把9表示成二进制是1001,有2位是1。因此如果输入9,该函数输出2。 4  5 #include 
6 7 int NumberOf1_Solution1(int n) 8 { 9 int count = 0;10 unsigned int flag = 1;11 while (flag)12 {13 if (n & flag)14 count++;15 16 flag = flag << 1;17 }18 19 return count;20 }21 22 int NumberOf1_Solution2(int n)23 {24 int count = 0;25 26 while (n)27 {28 ++count;29 n = (n - 1) & n;30 }31 32 return count;33 }34 35 // ====================测试代码====================36 void Test(int number, unsigned int expected)37 {38 int actual = NumberOf1_Solution1(number);39 if (actual == expected)40 printf("Solution1: Test for %p passed.\n", number);41 else42 printf("Solution1: Test for %p failed.\n", number);43 44 actual = NumberOf1_Solution2(number);45 if (actual == expected)46 printf("Solution2: Test for %p passed.\n", number);47 else48 printf("Solution2: Test for %p failed.\n", number);49 50 printf("\n");51 }52 53 int main(int argc, char* argv[])54 {55 // 输入0,期待的输出是056 Test(0, 0);57 58 // 输入1,期待的输出是159 Test(1, 1);60 61 // 输入10,期待的输出是262 Test(10, 2);63 64 // 输入0x7FFFFFFF,期待的输出是3165 Test(0x7FFFFFFF, 31);66 67 // 输入0xFFFFFFFF(负数),期待的输出是3268 Test(0xFFFFFFFF, 32);69 70 // 输入0x80000000(负数),期待的输出是171 Test(0x80000000, 1);72 73 return 0;74 }
View Code

 

转载于:https://www.cnblogs.com/focus-z/p/10087063.html

你可能感兴趣的文章
阶段3 2.Spring_04.Spring的常用注解_2 常用IOC注解按照作用分类
查看>>
阶段3 2.Spring_09.JdbcTemplate的基本使用_5 JdbcTemplate在spring的ioc中使用
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第11节 Logback日志框架介绍和SpringBoot整合实战_45、SpringBoot2.x日志讲解和Logback配置实战...
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_4-05 微服务调用方式之feign 实战 订单调用商品服务...
查看>>
UI基础--烟花动画
查看>>
Android dex分包方案
查看>>
ThreadLocal为什么要用WeakReference
查看>>
删除本地文件
查看>>
FOC实现概述
查看>>
gethostbyname与sockaddr_in的完美组合
查看>>
旋转变换(一)旋转矩阵
查看>>
thinkphp3.2.3 bug集锦
查看>>
C# 创建 读取 更新 XML文件
查看>>
KD树
查看>>
VsVim - Shortcut Key (快捷键)
查看>>
HDU5447 Good Numbers
查看>>
08.CXF发布WebService(Java项目)
查看>>
java-集合框架
查看>>
RTMP
查看>>
求一个数的整数次方
查看>>