5.5
来源:互联网 发布:洛阳青峰网络人事 编辑:程序博客网 时间:2024/05/01 16:55
Topic 5.5 Write a function to determine the number of bits required to convert interger A to interger B.
方法1:XOR represents a bit that is different between A and B. Then shift the XOR result.
改进: To make it better, use c=c&(c-1) to clear the leaset significant bit.
public class c5_3 {public static int bitSwapRequired(int a, int b) {int count = 0;for (int c = a ^ b; c != 0; c = c >> 1) { count += c & 1;}return count;}public static int bitSwapRequired2(int a, int b){int count = 0;for (int c = a ^ b; c != 0; c = c & (c-1)) {count++;}return count;}public static void main(String[] args) {int a=15;int b=16;System.out.println(a+":"+Integer.toBinaryString(a));System.out.println(b+":"+Integer.toBinaryString(b));System.out.println("Required number of bits: " + bitSwapRequired(a, b) + " " + bitSwapRequired2(a, b));}}
//结果15:111116:10000Required number of bits: 5 5
- 5.5
- 5.5
- 5.5
- 5.5
- 5.5
- 5.5
- 5.5
- 5.5
- 5.5
- 5.5
- 5.5
- 5.5
- 5.5
- 5.5
- 5.5
- 5.5
- 5.5
- 5.5
- Key/Value存储引擎——Bitcask的Java实现
- jsp路径获取
- 求字符串中的最长回文子串
- uva 10883 - Supermean( 找规律, log( c(n,m)) )
- 毕业5年决定人的一生(转)-- 大家千万不要错过这篇文章
- 5.5
- OCP-1Z0-052-V8.02-12题
- 堆栈
- JavaSwing图形界面编程之JButton(一)
- 判断单链表中是否存在环
- 栈的定义以及不同的存储结构的AVA实现
- Q & A: The difference between hard and soft links
- java中的IO整理
- C和C++的又一个区别