请大家给算法技巧 ,谢了!
解决方案 »
- Eclipse的3大GUI开发插件
- 请教一个小问题
- java access 类型不匹配问题
- spring hibernate 的问题
- tableViewer 显示数据不正常。有图,高手指点啊,急,在线等…………
- 一个根本不懂的问题...(有实力的请进....)
- 一个菜鸟个弱弱的问题~~~~~~
- 这个问题你一定得费心帮我一下,谢谢!!不够分再加!
- App Servers处理send.Redirect("**.jsp")和 <jsp:forward page="**.jsp"/>时有什么不同
- 有C++基础,想学JAVA,不知如何入手,请高手指教!
- 关于对象的引用问题
- s:iterator 里的s:select 下拉框没有显示全部
/**
* 将 int 类型数据转成二进制的字符串,不足 int 类型位数时在前面添“0”以凑足位数
* @param num
* @return
*/
public static String toFullBinaryString(int num) {
char[] chs = new char[Integer.SIZE];
for(int i = 0; i < Integer.SIZE; i++) {
chs[Integer.SIZE - 1 - i] = (char)(((num >> i) & 1) + '0');
}
return new String(chs);
}
/**
* 将 long 类型数据转成二进制的字符串,不足 long 类型位数时在前面添“0”以凑足位数
* @param num
* @return
*/
public static String toFullBinaryString(long num) {
char[] chs = new char[Long.SIZE];
for(int i = 0; i < Long.SIZE; i++) {
chs[Long.SIZE - 1 - i] = (char)(((num >> i) & 1) + '0');
}
return new String(chs);
}
}
手算:先背出1,2,4,8,16,32...1024,2048...
345 = 256 * 1 + 128 * 0 + 64 * 1 + 32 * 0 + 16 * 1 + 8 * 1 + 4 * 0 + 2 * 0 + 1 * 1
===> 101011001
程序算
最好使用位操作,或者Integer.toBinaryString(i)