Java中数字的进制转换
常用的进制类型:二进制
、八进制
、十进制
、十六进制
。其中十进制
是人类计数最常用的进制,大部分操作都是以十进制
作为桥梁进行转换。
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 其它进制
除了常用进制,还有哪些进制?
我们数数用的数字有从0
到9
十个,还有a
到z
26个字母。所谓数字,从广义上讲不过就是数字和字母的组合。如果你需要用的话,从二
到三十六
进制都有(三十六进制也就是将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进制的
z
和Z
表示同一个数字35
Java中数字的进制转换相关推荐
- Java 中常用的进制转换
前言 所谓进制转换,就是人们利用符号来计数的方法.进制转换由一组数码符号和两个基本因素"基数"和"位权"所构成.其中基数是指进位计数制中所采用的数码的个数,逢 ...
- Java中四种进制转换
进制介绍 举例: 不同进制转换运算 Java中二进制使用0b(0B)前缀来表示,不足一字节需高位补零,凑成8位. Java中八进制使用0前缀来表示. Java中十六进制使用0x(0X)来表示,a~e( ...
- 计算机中关于数字的进制转换
目录 前言 一. 二进制转换 二. 八进制转换 三. 十六进制转换 前言 大家学习了这么久的C语言,有很多很多的小伙伴对于十进制,二进制,八进制,十六进制转换弄混了头,那咱们今天就来细细的对计算 ...
- java 数字的进制转换
对整数进行进制转换,有现成的函数,就不需要倒着求余数了: package hdu;public class sum {public static void main(String[] args) {/ ...
- Java基础--数据类型及进制转换
1.Dos常用命令符 -d: 盘符切换(切换到哪个盘输入那个盘符) -dir(directory) 列出当前目录下 的文件以及文件夹 -md(make directory) 创建目录,md之后空格加文 ...
- LeetCode 1271. 十六进制魔术数字(进制转换)
1. 题目 你有一个十进制数字,请按照此规则将它变成「十六进制魔术数字」:首先将它变成字母大写的十六进制字符串,然后将所有的数字 0 变成字母 O ,将数字 1 变成字母 I . 如果一个数字在转换后 ...
- SpringBoot项目中计量单位与进制转换问题解决措施及数据校验怎么操作
写在前面: 继续记录自己的SpringBoot学习之旅,这次是SpringBoot应用相关知识学习记录.若看不懂则建议先看前几篇博客,详细代码可在我的Gitee仓库SpringBoot克隆下载学习使用 ...
- java的代码之进制转换(2,8,16与10进制转换)
文章目录 一.2,8,16进制转换成10进制 二.10进制转换成2,8,16进制返回STRING 三.自己写的十进制转换成十六进制 一.2,8,16进制转换成10进制 使用Integer.parseI ...
- Java各类型数的进制转换
转载自方凌飞2014551539 public class Main {public static void main(String[] args) {// TODO Auto-generated m ...
最新文章
- java模拟数据库压测_写并发压测 java 脚本你必须会的 3 个类
- Android Studio如何快速生成get,set,tostring,构造函数
- 网页静态服务器-3-使用类
- postgresql 的 libdir 在哪里?
- SqlServer性能检测之Sql语句排查
- DIY多快充协议太阳能充电器!----BOOST升压电路
- iOS 开源播放器ijkplayer播放视频设置缓存
- 云南省湖泊河流ArcGIS地形图shp图层文件下载
- SPSS入门教程之如何安装并注册
- 【Python表白小程序】七夕表白神器(赶紧收藏起来)
- 1、misa统计SRR结果
- 无线蓝牙耳机哪个品牌好?蓝牙降噪耳机品牌推荐
- 10分钟入门Pandas(添加一些个人见解)
- java华容道代码_Java 华容道完整源码
- linux打包解压工具,打包压缩、解压缩工具详解
- 光模块字母含义及参数简称大全
- Codeforces round #628 C. Ehab and Path-etic MEXs(构造)
- up rom for android,ROMBOTapp下载-ROMBOT安卓版v0.54-upan
- Wi-Fi Aware -- 用Wi-Fi来发现世界
- iOS-苹果开发者账号申请之邓白氏编码查询