常用的进制类型:二进制八进制十进制十六进制。其中十进制是人类计数最常用的进制,大部分操作都是以十进制作为桥梁进行转换。

1 常用进制数字声明方式

常用的进制,除十进制之外,在代码中声明其它进制数字采用加前缀的方式:

  • 二进制:加前缀 0b
  • 八进制:加前缀 0
  • 十六进制:加前缀 0x
//声明2进制数字
int num2 = 0b10000;
//声明8进制数字
int num8 = 020;
//声明16进制数字
int num16 = 0x10;
System.out.println(num2);//16
System.out.println(num8);//16
System.out.println(num16);//16

2 十进制转换为常用进制

以数字16为例,如下:

//10进制转换为2进制字符串
System.out.println(Integer.toBinaryString(16));//10000
//10进制转换为8进制字符串
System.out.println(Integer.toOctalString(16));//20
//10进制转换为16进制字符串
System.out.println(Integer.toHexString(16));//10

3 常用进制转换为十进制

如第一步中所示,如果声明时已经标记了进制的数字类型,直接当做十进制使用即可,计算机会自动识别,如下:

int num2 = 0b10000;//16
int num8 = 020;//16
int num16 = 0x10;//16
System.out.println(num2 + num8 + num16);//48

如果是将一个常用进制的数字字符串转化为十进制数字,可使用Integer.valueOf(进制字符串,进制数字)Integer.parseInt(进制字符串,进制数字)方法:

System.out.println(Integer.valueOf("10000", 2));//16
System.out.println(Integer.valueOf("20", 8));//16
System.out.println(Integer.valueOf("10", 16));//16System.out.println(Integer.parseInt("10000", 2));//16
System.out.println(Integer.parseInt("20", 8));//16
System.out.println(Integer.parseInt("10", 16));//16

4 其它进制

除了常用进制,还有哪些进制?
我们数数用的数字有从09十个,还有az26个字母。所谓数字,从广义上讲不过就是数字和字母的组合。如果你需要用的话,从三十六进制都有(三十六进制也就是将10数字和26个字母都用起来),而且Java已经提供了默认实现。

所以可以将一个十进制数转换为三十六进制中任意一个,以数字35为例,转换为其他进制,如下:

for (int i = 2; i <= 36; i++) {System.out.println("10进制数字 35 转化为 " + i + " 进制:" + Integer.toString(35, i));
}
//10进制数字 35 转化为 2 进制:100011
//10进制数字 35 转化为 3 进制:1022
//10进制数字 35 转化为 4 进制:203
//10进制数字 35 转化为 5 进制:120
//10进制数字 35 转化为 6 进制:55
//10进制数字 35 转化为 7 进制:50
//10进制数字 35 转化为 8 进制:43
//10进制数字 35 转化为 9 进制:38
//10进制数字 35 转化为 10 进制:35
//10进制数字 35 转化为 11 进制:32
//10进制数字 35 转化为 12 进制:2b
//10进制数字 35 转化为 13 进制:29
//10进制数字 35 转化为 14 进制:27
//10进制数字 35 转化为 15 进制:25
//10进制数字 35 转化为 16 进制:23
//10进制数字 35 转化为 17 进制:21
//10进制数字 35 转化为 18 进制:1h
//10进制数字 35 转化为 19 进制:1g
//10进制数字 35 转化为 20 进制:1f
//10进制数字 35 转化为 21 进制:1e
//10进制数字 35 转化为 22 进制:1d
//10进制数字 35 转化为 23 进制:1c
//10进制数字 35 转化为 24 进制:1b
//10进制数字 35 转化为 25 进制:1a
//10进制数字 35 转化为 26 进制:19
//10进制数字 35 转化为 27 进制:18
//10进制数字 35 转化为 28 进制:17
//10进制数字 35 转化为 29 进制:16
//10进制数字 35 转化为 30 进制:15
//10进制数字 35 转化为 31 进制:14
//10进制数字 35 转化为 32 进制:13
//10进制数字 35 转化为 33 进制:12
//10进制数字 35 转化为 34 进制:11
//10进制数字 35 转化为 35 进制:10
//10进制数字 35 转化为 36 进制:z

将一位三十六进制数字转换为十进制,如下:

String numStr = "";
for (int i = 0; i <= 35; i++) {if (i <= 9) {numStr = Character.toString((char) (i + 48));} else {numStr = Character.toString((char) (i + 87));}System.out.println("36进制数字 " + numStr + " 转化为 10 进制:" + Integer.valueOf(numStr, 36));
}//36进制数字 0 转化为 10 进制:0
//36进制数字 1 转化为 10 进制:1
//36进制数字 2 转化为 10 进制:2
//36进制数字 3 转化为 10 进制:3
//36进制数字 4 转化为 10 进制:4
//36进制数字 5 转化为 10 进制:5
//36进制数字 6 转化为 10 进制:6
//36进制数字 7 转化为 10 进制:7
//36进制数字 8 转化为 10 进制:8
//36进制数字 9 转化为 10 进制:9
//36进制数字 a 转化为 10 进制:10
//36进制数字 b 转化为 10 进制:11
//36进制数字 c 转化为 10 进制:12
//36进制数字 d 转化为 10 进制:13
//36进制数字 e 转化为 10 进制:14
//36进制数字 f 转化为 10 进制:15
//36进制数字 g 转化为 10 进制:16
//36进制数字 h 转化为 10 进制:17
//36进制数字 i 转化为 10 进制:18
//36进制数字 j 转化为 10 进制:19
//36进制数字 k 转化为 10 进制:20
//36进制数字 l 转化为 10 进制:21
//36进制数字 m 转化为 10 进制:22
//36进制数字 n 转化为 10 进制:23
//36进制数字 o 转化为 10 进制:24
//36进制数字 p 转化为 10 进制:25
//36进制数字 q 转化为 10 进制:26
//36进制数字 r 转化为 10 进制:27
//36进制数字 s 转化为 10 进制:28
//36进制数字 t 转化为 10 进制:29
//36进制数字 u 转化为 10 进制:30
//36进制数字 v 转化为 10 进制:31
//36进制数字 w 转化为 10 进制:32
//36进制数字 x 转化为 10 进制:33
//36进制数字 y 转化为 10 进制:34
//36进制数字 z 转化为 10 进制:35

Java实现的默认进制计数法中,字符串不区分大小写,比如36进制的zZ表示同一个数字35

Java中数字的进制转换相关推荐

  1. Java 中常用的进制转换

    前言 所谓进制转换,就是人们利用符号来计数的方法.进制转换由一组数码符号和两个基本因素"基数"和"位权"所构成.其中基数是指进位计数制中所采用的数码的个数,逢  ...

  2. Java中四种进制转换

    进制介绍 举例: 不同进制转换运算 Java中二进制使用0b(0B)前缀来表示,不足一字节需高位补零,凑成8位. Java中八进制使用0前缀来表示. Java中十六进制使用0x(0X)来表示,a~e( ...

  3. 计算机中关于数字的进制转换

    目录 前言 一.  二进制转换 二.  八进制转换 三.  十六进制转换 前言 大家学习了这么久的C语言,有很多很多的小伙伴对于十进制,二进制,八进制,十六进制转换弄混了头,那咱们今天就来细细的对计算 ...

  4. java 数字的进制转换

    对整数进行进制转换,有现成的函数,就不需要倒着求余数了: package hdu;public class sum {public static void main(String[] args) {/ ...

  5. Java基础--数据类型及进制转换

    1.Dos常用命令符 -d: 盘符切换(切换到哪个盘输入那个盘符) -dir(directory) 列出当前目录下 的文件以及文件夹 -md(make directory) 创建目录,md之后空格加文 ...

  6. LeetCode 1271. 十六进制魔术数字(进制转换)

    1. 题目 你有一个十进制数字,请按照此规则将它变成「十六进制魔术数字」:首先将它变成字母大写的十六进制字符串,然后将所有的数字 0 变成字母 O ,将数字 1 变成字母 I . 如果一个数字在转换后 ...

  7. SpringBoot项目中计量单位与进制转换问题解决措施及数据校验怎么操作

    写在前面: 继续记录自己的SpringBoot学习之旅,这次是SpringBoot应用相关知识学习记录.若看不懂则建议先看前几篇博客,详细代码可在我的Gitee仓库SpringBoot克隆下载学习使用 ...

  8. java的代码之进制转换(2,8,16与10进制转换)

    文章目录 一.2,8,16进制转换成10进制 二.10进制转换成2,8,16进制返回STRING 三.自己写的十进制转换成十六进制 一.2,8,16进制转换成10进制 使用Integer.parseI ...

  9. Java各类型数的进制转换

    转载自方凌飞2014551539 public class Main {public static void main(String[] args) {// TODO Auto-generated m ...

最新文章

  1. java模拟数据库压测_写并发压测 java 脚本你必须会的 3 个类
  2. Android Studio如何快速生成get,set,tostring,构造函数
  3. 网页静态服务器-3-使用类
  4. postgresql 的 libdir 在哪里?
  5. SqlServer性能检测之Sql语句排查
  6. DIY多快充协议太阳能充电器!----BOOST升压电路
  7. iOS 开源播放器ijkplayer播放视频设置缓存
  8. 云南省湖泊河流ArcGIS地形图shp图层文件下载
  9. SPSS入门教程之如何安装并注册
  10. 【Python表白小程序】七夕表白神器(赶紧收藏起来)
  11. 1、misa统计SRR结果
  12. 无线蓝牙耳机哪个品牌好?蓝牙降噪耳机品牌推荐
  13. 10分钟入门Pandas(添加一些个人见解)
  14. java华容道代码_Java 华容道完整源码
  15. linux打包解压工具,打包压缩、解压缩工具详解
  16. 光模块字母含义及参数简称大全
  17. Codeforces round #628 C. Ehab and Path-etic MEXs(构造)
  18. up rom for android,ROMBOTapp下载-ROMBOT安卓版v0.54-upan
  19. Wi-Fi Aware -- 用Wi-Fi来发现世界
  20. iOS-苹果开发者账号申请之邓白氏编码查询

热门文章

  1. 虚拟机VMware怎么完全卸载干净
  2. 网络规划中的IP地址分配
  3. SpringBoot-基础篇
  4. 怎样在ubuntu中查看自己的显卡型号及其对应驱动的安装
  5. 去掉超级链接下划线的代码?
  6. torch.optim as optim
  7. 烟大计算机学院老师,烟台大学计算机与控制工程学院导师教师师资介绍简介-阎维青...
  8. 关于eclipse打开却报了一大段错误的思路与解决方法(超详细向)
  9. python+appium手机APP自动化基础篇3-找元素定位(anroid)
  10. Zynq裸跑头文件问题