36进制与10进制之间的转换
import java.util.HashMap;/*** 36进制与10进制转换思路:* 一、创建HashMap类型对象用于存放数字'0'到字母'Z'36个字符值键对* 二、* @author Administrator**/
public class Ten2Thirty {//定义36进制数字private static final String X36 = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";//拿到36进制转换10进制的值键对private static HashMap<Character, Integer> thirysixToTen = createMapThirtysixToTen();//拿到10进制转换36进制的值键对private static HashMap<Integer,Character> tenToThirtysix = createMapTenToThirtysix();//定义静态进制数private static int BASE = 36;//用来存放10转36进制的字符串private static StringBuffer sb = new StringBuffer();private static HashMap<Character, Integer> createMapThirtysixToTen() {HashMap<Character, Integer> map = new HashMap<Character, Integer>();for (int i = 0; i < X36.length(); i++) {//0--0,... ..., Z -- 35的对应存放进去map.put(X36.charAt(i), i);}return map;}private static HashMap<Integer, Character> createMapTenToThirtysix() {HashMap<Integer, Character> map = new HashMap<Integer,Character>();for (int i = 0; i < X36.length(); i ++) {//0--0,... ..., 35 -- Z的对应存放进去map.put(i, X36.charAt(i));}return map;}/** 36 to 10* @param pStr 36进制字符串* @return 十进制*/public static int ThirtysixToDeciaml(String pStr) {if (pStr == "") return 0;//目标十进制数初始化为0int deciaml = 0;//记录次方,初始为36进制长度 -1int power = pStr.length() - 1;//将36进制字符串转换成char[]char[] keys = pStr.toCharArray();for (int i = 0; i < pStr.length(); i++) {//拿到36进制对应的10进制数int value = thirysixToTen.get(keys[i]);deciaml = (int) (deciaml + value*Math.pow(BASE, power));//执行完毕 次方自减power --;}return deciaml;}/**10 to 36* @param iSrc 10进制整数值* @param pRet 将iSrc转换成36进制以后的字符串* @return 0成功,其他失败*/public static int DeciamlToThirtySix(int iSrc, String pRet) {String str = DeciamlToThirtySix(iSrc);if (str.equals(pRet)) {return 0;} else {return 1;}}/*** 用递归来实现10 to 36* @param iSrc* @return*/public static String DeciamlToThirtySix(int iSrc) {//循环控制boolean flag = true;//定义键int key;//定义值int value;while (flag) {key = iSrc / BASE;value = iSrc - key*BASE;if (key == 0) {flag = false;sb.append(tenToThirtysix.get(value).toString());} else if (key != 0) {//如果value小于进制36,说明下次递归会执行上面的语句//而这次的循环还没有终止,所以要讲循环控制设置为false;if (value < BASE) flag = false;sb.append(tenToThirtysix.get(key).toString());DeciamlToThirtySix(value);}}return sb.toString();}public static void main(String[] args) {int x = ThirtysixToDeciaml("2S");String s = DeciamlToThirtySix(100);System.out.println(s);}
}
36进制与10进制之间的转换相关推荐
- php 64进制转16进制,PHP进制转换[实现2、8、16、36、64进制至10进制相互转换]
$mtime1= explode(" ", microtime()); $startTime= $mtime1[0] + $mtime1[1];?> 进制转换 2 8 10 ...
- 进制转换问题---例如把26进制转为10进制
问题:a-z表示0-25,代表26进制,现在要求把该26进制转为10进制 例如: 输入:ba 输出:26 先看如何把十六进制怎么转换成十进制 它可以表示为:2*10^3+0*10^2+3*10^1 ...
- python16进制转10进制_python 字节串及10进制,16进制相关转换
进行协议解析时,总是会遇到各种各样的数据转换的问题,从二进制到十进制,从字节串到整数等等 整数之间的进制转换: 10进制转16进制: hex(16) ==> 0x10 16进制转10进制: in ...
- 关于物联网的各种转换,16进制 二进制 10进制 效验总结
字符串插入字符 /// <summary>/// 每隔n个字符插入一个字符/// </summary>/// <param name="input"& ...
- 进制转换 2进制转10进制 10进制转2进制
觉得有用的,HXD们请点个赞●▽● 10进制转2进制(以十进制100转换为二进制为例子:) 方法一(除2取余数,倒叙摆列,高位补零 ) 100/2=50余0: 50/2=25余0: 25/2=12余1 ...
- 16进制与10进制互转,16进制转10进制,10进制转16进制
近期在调试单片机时需要观看端口数据,需要将16进制数据转化成10进制数据.在网上找了蛮多都只能实现单个数据的转化,于是便用PYTHON编写了一份. import tkinter as tk root= ...
- python十六进制转十进制_使用Python 16进制转10进制
原博文 2019-05-07 15:22 − """ 16进制转10进制 """ # str="A5 42 D2 00 4A 00 ...
- 2、Py进制转换:荣耀机试题,任意2-64进制转10进制(自定义函数转换)
本文不直接解题,只解决其中核心部分:任意2-64进制数转10进制数 一.题目 原题: 小明最近在学bash语言,发现Bash算术运算相比于C/pvthon等其他语言有一个特性,是其中常量表示规则: 1 ...
- python 16进制转10进制, 8进制转10进制, 2进制转10进制的方法
python 16进制转10 进制, 8进制转10进制, 2进制转10进制 可以使用系统自带的 int 方法 具体如下: value = "0x1388" result = int ...
最新文章
- 特征工程在实际业务中的应用!
- iOS UI 12 block传值
- XX公司珠宝进销分销系统设计
- struts2中拦截器和过滤器的比较
- 转: 微博的多机房部署的实践(from infoq)
- java 3%3_Java 代码界 3% 的王者?看我是如何解错这 5 道题的
- android中搭建NDK环境及使用JNI技术
- linux系统连接实验室服务器步骤详解
- 航班预定系统java源代码_飞机订票系统源代码(Java)
- HTML5 通过Vedio标签实现视频循环播放
- 网络模型|分割模型|Vnet
- 分享美容护肤门店预约下单小程序开发制作功能介绍
- LIBOR-OIS息差利率 伦敦银行同业拆息与隔夜指数掉期
- Python机器学习|广义线性模型(2) | 最小二乘法
- matlab求解一元四次函数,excel数据函数参数是四个吗|求一个简单的一元四次函数的最大值...
- html图片隐藏文字,怎样用CSS隐藏图片背景的文字内容
- 电脑桌面计算机打开很慢,电脑桌面刷新反应很慢怎么办?电脑桌面刷新很慢解决方法...
- 微博、腾讯视频(部分)提取器-- 前端Vue.js篇
- 【读书笔记】《结构思考力》——李忠秋
- 科技大佬的那些情史!
热门文章
- 1696: [Usaco2007 Feb]Building A New Barn新牛舍
- 十六进制颜色代码对照表
- Apple Developer 注册(转)
- 基于php企业员工培训管理系统
- 超级计算机summit存储容量,美国研制世界最强超级计算机Summit,超过神威.太湖...
- Lumia手机电池充电方法
- 流形优化: Manifold Optimization 的 全网最通俗版本详解 (一)
- 开关三极管的使用误区
- 宝塔面板使用同一个IP不同端口创建不同的网站,解决:“您添加的站点已存在”的问题
- 多普达A6388刷机2.3