java任意进制转换
来源:互联网 发布:原生js display 编辑:程序博客网 时间:2024/04/29 21:01
1、说明
该算法实现将一个十进制数转换成任意进制的数。
输入:
十进制数7812
进制63
输出:
1,61,0 (当进制太大无法使用字母表示,只能使用数字表示)
7812 = 1*63*63+61*63+0
2、算法
package radix;import java.util.Scanner;/** * Created by linpeng123l on 16/9/6. */public class RadixConvert { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请分别输入要转换的十进制数和进制"); while (scanner.hasNext()) { int num = scanner.nextInt(); int radix = scanner.nextInt(); System.out.println("进制转换结果"+radixConvert(num, radix)); } } /** * 实现将十进制数num转换成radix进制数,中间以,分割表示进制的位数 * 1:函数计算过程,num=98,radix=5 * while循环中 * 第一次temp = 98/5 = 19 * 第二次temp = 19/5 = 3 * 此时说明最高位为百位(有times给出),最高位计数为temp=3 * * 2:用98 - 3*5*5 = 23 * 递归调用计算23转换成5进制的结果 * * @param num 十进制数 * @param radix 进制 * @return 转换后的数 */ public static String radixConvert(int num, int radix) { //递归结束条件 if (num / radix == 0) { return ""+num; } //用于计数,即计算当前数的最高进制位个数 int times = 0; //用于保存每次除的结果,且最后结果为最高位进制的计数 int temp = num; while ((temp = (temp / radix)) >= radix) { times++; } //最高位后表示的数 int timesNum = (int) (temp* Math.pow(radix,times+1)); return temp +","+ radixConvert(num - timesNum, radix); }}
0 0
- java任意进制转换
- java 任意进制转换
- Java实现任意进制转换
- 任意进制转换
- 任意进制转换
- 任意进制转换
- 任意进制转换
- 任意进制转换
- 任意进制转换!!!
- 任意进制转换
- 任意进制转换
- 任意进制转换
- 任意进制转换
- 任意进制转换
- 任意进制转换
- 任意整数转换为任意进制
- JAVA 实现10进制转换任意进制
- java中十进制转换为任意进制
- 如何使用Git版本控制
- PHPExcel如何绘制普通图表、组合图表及表格优化的注意事项。
- Java语言基础知识
- Linux Find 命令
- ubuntu下设置python默认版本
- java任意进制转换
- 【2016普及组模拟考试】01 贪心 game(接数游戏)
- 订阅/监听Ionic2的视图生命周期
- Maven项目部署到tomcat+部署中的各种问题
- Gson—使用详解(1)
- java 反射
- MD5加密(密码加密)
- 基于python的pixiv爬虫
- windows中查看进程和结束进程的命令