目录

十进制转其他进制

其他进制数字转十进制

字符串与16进制相互转换


十进制转其他进制

    /*** 十进制转其他进制*/public static String conversion(Integer value, int sys) {String code = "";switch (sys) {case 2:code = Integer.toBinaryString(value);break;case 8:code = Integer.toOctalString(value);break;case 16:code = Integer.toHexString(value);break;default:code = Integer.toString(value, sys);break;}return code;}// 一个char[]对象private static char[] array = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".toCharArray();/*** 十进制转其他进制2*/public static String conversion2(int number, int n) {StringBuffer result = new StringBuffer("");// 模拟计算进制的过程while (number > 0) {result.insert(0, array[number % n]);number /= n;}return result.toString();}/*** 补0*/public static String supplement(String a) {
//        return String.format("%04d", a);StringBuffer sb = new StringBuffer("");for (int i = 0; i < 4 - a.length(); i++) {sb.append("0");}sb.append(a);return sb.toString();}

运行结果

    public static void main(String[] args) {System.out.println(conversion(21,16)); // 15System.out.println(conversion2(21,16)); // 15System.out.println(supplement("20")); // 0020System.out.println(supplement("")); // 0000}

其他进制数字转十进制

    /*** 其他进制数字转十进制* @param number 数字字符串* @param scale 数字字符串当前进制* @return 十进制数字*/public static int scale2Decimal(String number, int scale) {checkNumber(number);if (2 > scale || scale > 32) {throw new IllegalArgumentException("scale is not in range");}// 不同其他进制转十进制,修改这里即可int total = 0;String[] ch = number.split("");int chLength = ch.length;for (int i = 0; i < chLength; i++) {total += Integer.parseInt(ch[i]) * Math.pow(scale, chLength - 1 - i);}return total;}public static void checkNumber(String number) {String regexp = "^\\d+$";if (null == number || !number.matches(regexp)) {throw new IllegalArgumentException("input is not a number");}}

测试运行:

System.out.println(scale2Decimal("15",16)); // 21

字符串与16进制相互转换

    /*** 字符串转换成为16进制*/public static String strToHexadecimal(String str) {char[] chars = "0123456789ABCDEF".toCharArray();StringBuilder sb = new StringBuilder("");byte[] bs = str.getBytes();int bit;for (int i = 0; i < bs.length; i++) {bit = (bs[i] & 0x0f0) >> 4;sb.append(chars[bit]);bit = bs[i] & 0x0f;sb.append(chars[bit]);}return sb.toString().trim();}/*** 16进制直接转换成为字符串*/public static String hexadecimalToStr(String hexStr) {String str = "0123456789ABCDEF";char[] hexs = hexStr.toCharArray();byte[] bytes = new byte[hexStr.length() / 2];int n;for (int i = 0; i < bytes.length; i++) {n = str.indexOf(hexs[2 * i]) * 16;n += str.indexOf(hexs[2 * i + 1]);bytes[i] = (byte) (n & 0xff);}return new String(bytes);}

运行结果:

    public static void main(String[] args) {System.out.println(strToHexadecimal("AW的想法jcd12345")); // 4157E79A84E683B3E6B3956A63643132333435System.out.println(hexadecimalToStr(strToHexadecimal("AW的想法jcd12345"))); // AW的想法jcd12345}

java进制转换、字符串与16进制互转/数字进制互转相关推荐

  1. python 16进制补零_Python输出16进制不带0x补零,整数转16进制,字符串转16进制

    python输出16进制不带0x补零,整数转16进制,字符串转16进制 在开发中,我们偶尔会遇到需要将数据通过控制台打印出来,以检查数据传输的准确性.例如调试服务端刚接到的二进制数据(里面包含很多非可 ...

  2. Python输出16进制不带0x补零,整数转16进制,字符串转16进制

    Python输出16进制不带0x补零,整数转16进制,字符串转16进制   在开发中,我们偶尔会遇到需要将数据通过控制台打印出来,以检查数据传输的准确性.例如调试服务端刚接到的二进制数据(里面包含很多 ...

  3. python hex 补零_Python输出16进制不带0x补零,整数转16进制,字符串转16进制

    Python输出16进制不带0x补零,整数转16进制,字符串转16进制 在开发中,我们偶尔会遇到需要将数据通过控制台打印出来,以检查数据传输的准确性.例如调试服务端刚接到的二进制数据(里面包含很多非可 ...

  4. java整形变量转换字符串_JAVA整型转换字符串以及相互转换的相关实例

    JAVA整型转换字符串以及相互转换的相关实例.java数据类型之间的转换.怎么把整数 int 转换成字串 String ?怎么把字符串 String 转换成整数 int类型? 整型与字符串转换实例: ...

  5. java int to hex_Java字符串转16 进制工具类Hex.java | 学步园

    Java 字符串转 16 进制工具类 Hex.java 实现 16进制 0xfecd .. 和 java 字符串之间的互转换! 如果做开发,通常用户登陆密码都会 mad5(salt + pwd) 然后 ...

  6. python进制转换字符串转二进制对象整数转二进制对象16进制字符串转二进制对象(及其逆转换)

    (1)数字进制转换 int() 函数用于将一个字符串或数字转换为整型. x – 字符串或数字. base – 进制数,默认十进制. 如果是带参数base的话,要以字符串的形式进行输入 >> ...

  7. c语言中10转8和16的转换,(C语言)10进制转换2,8,16进制

    (C语言)10进制转换2,8,16进制 作者:vinseven #include"stdio.h" #include"conio.h" #include&quo ...

  8. uniapp 10进制、字符串转16进制码

    // 十进制转十六进制 jinzhi_change(num,system){// 十进制转其它进制,仅支持到十六进制var shiliu=['0', '1', '2', '3', '4', '5', ...

  9. 计算机应用基础进制转换说课稿,计算机应用基础信息技术基础《进制转换》教案.doc...

    计算机应用基础信息技术基础<进制转换>教案 "项目1-3 进制转换"教案 第 5-6 课时 课型: 理实一体化 授课时间:__9_月__ 24 _日 第_4 _周 星期 ...

最新文章

  1. 微软洪小文:AI将成为人类未来最好的左脑
  2. 服务器组装 华硕主板,专业组装服务器 华硕主板P9D-C/4L热销
  3. ID3DXMesh的数据导出和导入
  4. python 多分类情感_python 文本情感分类
  5. 贪心算法——选择不相交区间问题
  6. java while语句_Java while循环
  7. redis怎么不让存byte_Redis 删除数据后不能自动释放内存么?
  8. ajax调用webService
  9. CNC加工中心程序代码大全,你还不收藏吗?
  10. dos固态硬盘测试软件,dos下的硬盘检测工具MHDD图文教程!
  11. Python Pytest自动化测试 获取测试用例执行结果
  12. HC32F460 浮点运算开启
  13. Java三部曲(二)JavaWeb
  14. python基础学习(三)之线性数据结构
  15. @所有人,清明节借势文案素材大礼包已到!
  16. SpringCloud Stream @EnableBinding注解过时
  17. SpringBoot邮件服务spring-boot-starter-mail
  18. 输入股票、热门事件词,查最新消息
  19. 马云:在核心技术上争高下,是大企业当仁不让的责任
  20. 《剑指offer》每日分享三道题- 2 day

热门文章

  1. DNC数控机床联网及数据采集系统@杭州乐芯科技
  2. (摘自百度百科)石油输出国组织-欧派克(伊朗、伊拉克、科威特、沙特阿拉伯和委内瑞拉)介绍...
  3. 猫眼电影票房爬取到MySQL中_爬取猫眼电影top100,request、beautifulsoup运用
  4. PostGreSql的备份和恢复
  5. oracle 解决序列号自增报 java.sql.SQLException: ORA-00001: 违反唯一约束条件 问题
  6. 如何使用 IDEA 打 jar 包
  7. .NET跨平台开源控件库-SukiUI
  8. Eudemon 200S   Eudemon 200S
  9. 计算机毕设Python+Vue郑州市智慧农贸市场管理系统(程序+LW+部署)
  10. Pandas中常见的数据运算 | 图解Pandas-图文第5篇