二进制中1的个数(Java实现)
来源:互联网 发布:淘宝上的原创女装品牌 编辑:程序博客网 时间:2024/06/05 16:38
[编程题]二进制中1的个数
输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。
代码如下:
/* * 1.右移一位相等于除以2,但是不能用除法替代右移 * 因为除法的效率比移位运算要低得多,在实际编程中应尽可能地用移位算法替代乘除法 * * */public class Demo2 {public static void main(String[] args) {// System.out.println(solve1(15));System.out.println(solve2(-15));// System.out.println(Integer.toBinaryString(-15));}// 只能计算正数,负数会产生死循环public static int solve1(int n) {int count = 0;while (n != 0) {if ((n & 1) == 1)count++;n = n >> 1;}return count;}// 巧妙的解法:把一个整数减去1,再和原来的整数进行与运算// 会把该整数最右一个1变成0// 负数必须用补码表示!private static int solve2(int n) {int count = 0;while (n != 0) {count++;n = n & (n - 1);}return count;}}
0 0
- Java实现二进制中1的个数
- Java 实现二进制中1的个数
- 二进制中1的个数Java实现
- 二进制中1的个数(Java实现)
- 求二进制数中1的个数--Java实现
- 求二进制中1的个数----Java实现
- 剑指offer----二进制中1的个数----java实现
- 一个整数二进制表示中1的个数 java实现
- Java实现查找输入整数二进制中1的个数
- 算法--微软面试:整数的二进制表示中1的个数(Java实现)
- 二进制中1的个数(java)
- 剑指Offer:二进制中1的个数(JAVA)
- 二进制中1的个数(java版)
- 二进制中1的个数(2)
- 二进制中1的个数(2)
- 统计二进制数中“1”的个数(懂二进制)
- 二进制中1的个数 & 打印1到最大的n位数 Java实现
- Java实现求一个整数的二进制数中1的个数
- 自适应共振理论人工神经网络
- Linux流量监控工具
- 网络学习笔记(网络层一)
- Android动画
- WSL问题-bash中mv命令出现问题以及关于WSL的一些资料
- 二进制中1的个数(Java实现)
- 高通平台学习
- 设置双核浏览器的浏览模式<meta name=“renderer” content=“webkit|ie-comp|ie-stand”>
- Spring MVC和Struts你选哪个?
- 从输入网址到显示网页的全过程分析
- 51nod 1432 独木舟问题
- 如何在google play 上下载应用 转自知乎
- 提升Boost:GBDT & Xgboost & Adaboost
- 【目标检测】Fast RCNN算法详解