10进制转二进制字符串输出
2016-07-22 00:00
225 查看
import java.util.Scanner; /** * Created by longforus on 9:10 PM 5/9/2016 . * IDEA-Test . * 输入10进制 输出二进制字符串 先计算该数包含最大的2次方结果 每减去一个该数 该位二进制 * 就记1 不够减就记0 a减完以后补全0 */ public class Chapter4_37 { public static void main (String[] args) { System.out.println ("Enter a Integer :"); Scanner in = new Scanner (System.in); int a = in.nextInt (); //System.out.println (Integer.toBinaryString (a));//在java中已有现成的方法实现 int i = 0; while (Math.pow (2, i) <= a) {//检测最大到2的多少次方 需要<=a 而不是<a 否则a==2^i 会出错 i++; } i--;//减小i到2^i<=a 的范围内 String binaryString = ""; while (i > =0) { if (a - Math.pow (2, i) >= 0) {//每减去一个2^i 就记1 a -= Math.pow (2, i); binaryString += 1; } else//不够减就记0 binaryString += 0; i--; if (a == 0) {//a减完后补全剩余的i+1个0 (包含2^0 ) 然后跳出循环 再计算已经没有意义 for (int j = 0; j <= i; j++) { binaryString += 0; } break; } } System.out.println (binaryString); } }
相关文章推荐
- 差之毫厘谬以千里,要认真才好
- win10的java环境变量配置
- IDEA 调用其他类自动加上包路径和类名
- java泛型的二分查找
- cmd运行java中文显示乱码
- IDEA项目按ctrl+alt+f10没有反应,run灰色不可用
- 《java语言程序设计》泽勒一致性问题
- List的普通for loop delete 连续元素有遗漏的解决
- implements Comparable 时 Override compareTo() 的augment问题
- java计算参数目录大小的递归和迭代实现
- 递归:尽量减少不必要的递归消耗方式
- 设计模式
- 关于/r与/n 以及 /r/n 的区别总结
- java文件读写的例子
- 深入理解按位异或运算符
- 线程的5种状态
- linux安装JDK
- 用于表示分数的Rational类(java)
- java运算符优先级表
- Collection概要总结