Java中的进制转换,练习
来源:互联网 发布:搜索引擎优化实战培训 编辑:程序博客网 时间:2024/05/22 15:23
代码如下,希望以后可以闭着眼睛打出来~~
package com.hackerang.algo;import java.util.Stack;public class HexBinaryBlaBla { //十进制进制转换成任意进制 public static String baseString(int num,int base){ if(base>16) throw new RuntimeException("进制过大,base<=16"); StringBuffer str = new StringBuffer(""); String digths = "0123456789ABCDEF"; Stack<Character> s = new Stack<Character>(); String numStr = String.valueOf(num); boolean isMinus = false; //判断输入的是否为负数 if(numStr.charAt(0) == '-'){ num = Integer.valueOf(numStr.substring(1)); isMinus = true; } while(num!=0){ s.push(digths.charAt(num%base)); //把余数压栈 num/=base; } while(!s.isEmpty()) str.append(s.pop()); //讲栈中的数取出,存入str return str.toString(); } public static String baseNum(String num,int srcBase, int destBase){//任意进制间的转换 if (srcBase == destBase) return num; String digths = "0123456789ABCDEF"; char[] chars = num.toCharArray(); int len = chars.length; if(destBase != 10) //若目标进制不是10进制,先将num转化为十进制 num = baseNum(num,srcBase,10); else{ int n = 0; for (int i = len-1;i>=0;i--){ n += digths.indexOf(chars[i])*Math.pow(srcBase, len - i -1); } return n + ""; } return baseString(Integer.valueOf(num),destBase); //将num转化为目标进制 }}
0 0
- Java中的进制转换,练习
- Java程序练习-进制转换
- JAVA小练习-进制转换1
- JAVA小练习-进制转换2
- 进制转换练习
- Java中的进制转换
- java中的进制转换
- java中的进制转换
- java中的进制转换
- JAVA中的进制转换
- JAVA中的进制转换
- Java中的进制转换
- Java中的进制转换
- Java中的进制转换
- Java中的进制转换
- 【Java练习2——进制转换】POJ 1220
- java小练习---进制之间的转换
- Java day02 基本语句练习 进制转换
- 学习与实践Cadence总结
- Ubuntu 15.04 clang++ 3.6 编译boost 1.59/1.55
- 山峰
- 将矩阵顺时针旋转90度 leetCode:Rotate Image
- Convert Sorted List to Binary Search Tree
- Java中的进制转换,练习
- linux 几个简单shell脚本demo
- UIAlertView提示控件和UIActionSheet的使用
- CodeForces-327A Flipping Game
- ant 中 if else
- 你不知道的JavaScript--Item25 创建对象(类)的8种方法总结
- IOS9自定义UIWindow被键盘盖住(在键盘下面)解决方法
- javaWeb开发之基础--------------MySQL数据库总结
- uva548