C/计算一个整数二进制位中1的个数
来源:互联网 发布:怎样优化显卡性能 编辑:程序博客网 时间:2024/05/17 22:03
计算一个整数二进制位中1的个数。要求效率尽可能的高。且能正确求正数和负数的二进制中1的个数。
代码:
#pragma once#include<stdio.h>#include<stdlib.h>//计算一个整数二进制位中1的个数。要求效率尽可能的高。且能正确求正数和负数的二进制中1的个数。 //32位,0 --00000000 00000000 00000000 00000000// 1---00000000 00000000 00000000 00000001// -1 --10000000 00000000 00000000 00000001---原码// 11111111 11111111 11111111 11111110---反码// -1 --11111111 11111111 11111111 11111111---补码// 最高位是符号位,不发生变化// 计算机存储整型数据以补码的形式// 正确解---与&运算 --补码按位与int count_one_bits(int num){ int count = 0; while (num) { count++; num = num & (num - 1); } return count;}// 不移数字,只移比较的1int count_one_bits1(int num){ int count = 0; unsigned int flag = 1; while (flag) { if (num & flag) count++; flag = flag << 1; } return count;}int main(){ int num = 3; int ret = count_one_bits1(num); printf("%d\n", ret); system("pause"); return 0;}
阅读全文
0 0
- C/计算一个整数二进制位中1的个数
- 17_7_20:计算一个整数二进制位中1的个数。
- 计算一个整数二进制位中1的个数
- 计算一个整数二进制位中1的个数
- 计算一个整数二进制位中1的个数
- 计算一个整数二进制位中1的个数
- 计算一个整数二进制位中1的个数
- 一个整数二进制位中1的个数
- 挑战面试编程:计算整数二进制位中1的个数
- 元素出栈、入栈顺序的合法性/计算一个整数二进制位中1的个数。
- 剑指offer 10----计算一个整数二进制位中1的个数
- C语言输入一个整数,输出其二进制位中1的个数
- 【C语言】编写代码实现:求一个整数在内存中的二进制位中1的个数
- day08之元素出栈、入栈顺序的合法性+计算一个整数二进制位中1的个数
- 计算二进制位中1的个数
- 计算一个整数二进制位中1的个数。要求效率尽可能的高。且能正确求正数和负数的二进制中1的个数。
- 计算一个整数中1的个数...
- 计算二进制位"1"的个数
- 邮件警告
- 37progress和meter元素
- unity3D中Shader的分类和区别
- iOS 测试 SwiftMonkey :iOS 上的 monkey
- linux下c语言学习第一课
- C/计算一个整数二进制位中1的个数
- eclipse在线安装Jetty使用教程
- eclipse常用快捷键及快捷操作
- 38video视频播放
- POJ 2424 Flo's Restaurant(2,4,6桌排队模拟)
- Hadoop Shell 常用命令
- PBOC规范研究之五、安全相关的PKI基础知识
- c++开源库rapidxml介绍与示例
- MongoDB的基本操作与在Python中的使用