JAVA笔记整理(1):进制转换

  • 16.2.28 深圳坪山 多云 18℃
  • 爱吃螺蛳粉的巴赫

摘要:工具类转化函数:关于进制——2/10/16进制转化(Util_transform_scale)— ps:两种方式各有各的好;想快速查询,请看目录!

  • JAVA笔记整理1进制转换

    • 调用封装类的静态方法

      • 一方法介绍
      • 二具体用法
    • 自定义方法
      • 一将十六进制中的字母转为对应的数字
      • 二将十进制中的数字转为十六进制对应的字母
      • 三任意进制数转为十进制数
      • 四十六进制转二进制
      • 五二进制转十六进制

调用封装类的静态方法

tip1: Java的整型封装类IntegerLong提供toString(int i,int radix)静态方法,可以将一个任意进制的整数转换为其他进制的整数
tip2: 静态方法是属于类的必须由类来调用,而实例方法是属于实例的必须实例化类后(new一下^_-),用类的实例调用。

一、方法介绍

  1. 使用Integer或Long的toBinaryString方法将整数转换为二进制。

  2. 使用Integer或Long的toOctalString方法将整数转换为八进制。

  3. 使用Integer或Long的toHexString方法将整数转换为十六进制。

  4. 使用Integer或Long的toString(int i)方法可以将其他进制的整数转换为十进制的整数的字符串表示。


二、具体用法

public class SystemConversion {public static void main(String[] args) {int iOct = 0567;//八进制数字的声明,在前面加上0(零)int iTen = 1000;//十进制数字的声明int iHex = 0xAbcd;//十六进制数字的声明,在前面加上0x(零x),x和abcd不区分大小写System.out.println("八进制0567装换成二进制:Integer.toString(iOct, 2)="+Integer.toString(iOct, 2));System.out.println("八进制0567装换成二进制:Integer.toBinaryString(iOct)="+Integer.toBinaryString(iOct));System.out.println("八进制0567装换成十进制:Integer.toString(iOct, 10)="+Integer.toString(iOct, 10));System.out.println("八进制0567装换成十进制:Integer.toString(iOct)="+Integer.toString(iOct));System.out.println("八进制0567装换成十六进制:Integer.toString(iOct, 2)="+Integer.toString(iOct, 16));System.out.println("八进制0567装换成十六进制:Integer.toHexString(iOct)="+Integer.toHexString(iOct));//以上输出结果为://八进制0567装换成二进制:Integer.toString(iOct, 2)=101110111//八进制0567装换成二进制:Integer.toBinaryString(iOct)=101110111//八进制0567装换成十进制:Integer.toString(iOct, 10)=375//八进制0567装换成十进制:Integer.toString(iOct)=375//八进制0567装换成十六进制:Integer.toString(iOct, 2)=177//八进制0567装换成十六进制:Integer.toHexString(iOct)=177System.out.println();System.out.println("十进制1000装换成十六进制:Integer.toString(iTen,16)="+Integer.toString(iTen,16));System.out.println("十进制1000装换成十六进制:Integer.toHexString(iTen)="+Integer.toHexString(iTen));System.out.println("十进制1000装换成八进制:Integer.toString(iTen,8)="+Integer.toString(iTen,8));System.out.println("十进制1000装换成八进制:Integer.toOctalString(iTen)="+Integer.toOctalString(iTen));System.out.println("十进制1000装换成二进制:Integer.toString(iTen,2)="+Integer.toString(iTen,2));System.out.println("十进制1000装换成二进制:Integer.toBinaryString(iTen)="+Integer.toBinaryString(iTen));//以上输出结果为://十进制1000装换成十六进制:Integer.toString(iTen,16)=3e8//十进制1000装换成十六进制:Integer.toHexString(iTen)=3e8//十进制1000装换成八进制:Integer.toString(iTen,8)=1750//十进制1000装换成八进制:Integer.toOctalString(iTen)=1750//十进制1000装换成二进制:Integer.toString(iTen,2)=1111101000//十进制1000装换成二进制:Integer.toBinaryString(iTen)=1111101000System.out.println();System.out.println("十六进制0xAbcd装换成十进制:Integer.toString(iHex,10)="+Integer.toString(iHex,10));System.out.println("十六进制0xAbcd装换成十进制:Integer.toString(iHex)="+Integer.toString(iHex));System.out.println("十六进制0xAbcd装换成八进制:Integer.toString(iHex,8)="+Integer.toString(iHex,8));System.out.println("十六进制0xAbcd装换成八进制:Integer.toOctalString(iHex)="+Integer.toOctalString(iHex));System.out.println("十六进制0xAbcd装换成二进制:Integer.toString(iHex,2)="+Integer.toString(iHex,2));System.out.println("十六进制0xAbcd装换成二进制:Integer.toBinaryString(iHex)="+Integer.toBinaryString(iHex));//以上输出结果为://十六进制0xAbcd装换成十进制:Integer.toString(iHex,10)=43981//十六进制0xAbcd装换成十进制:Integer.toString(iHex)=43981//十六进制0xAbcd装换成八进制:Integer.toString(iHex,8)=125715//十六进制0xAbcd装换成八进制:Integer.toOctalString(iHex)=125715//十六进制0xAbcd装换成二进制:Integer.toString(iHex,2)=1010101111001101//十六进制0xAbcd装换成二进制:Integer.toBinaryString(iHex)=1010101111001101//十六进制0xAbcd装换成七进制:Integer.toString(iHex,7)=242140System.out.println();//还可将任意进制的整数装换成其他任意进制的数字System.out.println("十六进制0xAbcd装换成七进制:Integer.toString(iHex,7)="+Integer.toString(iHex,7));}
}

自定义方法

一、将十六进制中的字母转为对应的数字

// 将十六进制中的字母转为对应的数字public int formatting(String a) {int i = 0;for (int u = 0; u < 10; u++) {if (a.equals(String.valueOf(u))) {i = u;}}if (a.equals("a")) {i = 10;}if (a.equals("b")) {i = 11;}if (a.equals("c")) {i = 12;}if (a.equals("d")) {i = 13;}if (a.equals("e")) {i = 14;}if (a.equals("f")) {i = 15;}return i;}

二、将十进制中的数字转为十六进制对应的字母

// 将十进制中的数字转为十六进制对应的字母public String formattingH(int a) {String i = String.valueOf(a);switch (a) {case 10:i = "a";break;case 11:i = "b";break;case 12:i = "c";break;case 13:i = "d";break;case 14:i = "e";break;case 15:i = "f";break;}return i;}

三、任意进制数转为十进制数

// 任意进制数转为十进制数
public String toD(String a, int b) {int r = 0;for (int i = 0; i < a.length(); i++) {r = (int) (r + formatting(a.substring(i, i + 1))* Math.pow(b, a.length() - i - 1));}return String.valueOf(r);
}

四、十六进制转二进制

// 十六进制转二进制
public String HToB(String a) {String b = Integer.toBinaryString(Integer.valueOf(toD(a, 16)));return b;
}

五、二进制转十六进制

// 二进制转十六进制
public String BToH(String a) {// 将二进制转为十进制再从十进制转为十六进制String b = Integer.toHexString(Integer.valueOf(toD(a, 2)));return b;
}

JAVA笔记整理(1):进制转换相关推荐

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

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

  2. Java 中常用的进制转换

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

  3. Java中四种进制转换

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

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

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

  5. Java中数字的进制转换

    常用的进制类型:二进制.八进制.十进制.十六进制.其中十进制是人类计数最常用的进制,大部分操作都是以十进制作为桥梁进行转换. 1 常用进制数字声明方式 常用的进制,除十进制之外,在代码中声明其它进制数 ...

  6. 学习笔记7-C语言-进制转换、原返补、位运算、函数

    进制转换 为什么要使用二.八进制.十六进制?因为现在的CPU只能识别高低两种电流,因此只能对二进制数据进行运算二进制数据虽然可以直接被cpu识别,但不方便人们书写.记录,所以把二进制数据转换成八进制是 ...

  7. C#整理1——进制转换

    进制转换:二进制,八进制,十进制,十六进制. (一)二进制转十进制: 1.写2 2.标指数,从右向左,从0开始依次标记 3.乘系数,一一对应. 4.相加. 例:二进制数1101转十进制数* 1.2   ...

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

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

  9. 【HDU - 5050 】Divided Land (Java大数,大数进制转换,大数gcd)

    题干: It's time to fight the local despots and redistribute the land. There is a rectangular piece of ...

  10. java第二天_进制转换原理和补码存储方式作业

    1.负数的表现形式,为什么如此设计? 负数以原码的补码形式表达:正负数相加得0 2.-128是在内存中是如何存储的?推算过程? 126 01111110 127 01111111 -126 10000 ...

最新文章

  1. 文本分类中的一些小问题
  2. TextSwitcher实现文本自动垂直滚动
  3. Linux基础篇_01_计算机概论
  4. Maven父子结构的项目依赖使用以及打包依赖_微服务项目(maven父子级项目)怎么打包
  5. HTML5----热区(在图片img上第一超链接选区)
  6. wpf中显示HTML
  7. 章泽天卸任刘强东旗下一公司董事
  8. 「知识点」JavaScript 中11个有趣的事实
  9. 147. Insertion Sort List
  10. ES6(Module 模块化)
  11. C语言程序设计 数据类型 知识总结
  12. 经典而常用的配乐和背景音乐合集(下)
  13. 参考手册资源 百度云
  14. greasyfork脚本怎么取消_greasy fork脚本大全电脑游戏安装使用
  15. 线路板PCB产品和标准简介
  16. snipaste——一个好用的截图工具
  17. 比较令人惊叹的FastDB和SQLite的RAMDISK内的性能对比
  18. 深度技术ghost官方原版XP系统sp3下载地址
  19. kali mysql 远程连接_mysql连接的使用
  20. Java 并发异步编程,原来十个接口的活现在只需要一个接口就搞定!

热门文章

  1. 2021-04-04
  2. 普华永道与BitFury合作在俄罗斯创建区块链加速器
  3. rx580默认频率1150_AMD RX590对比RX580值得买吗?AMD Radeon RX 590显卡深度图解评测+拆机...
  4. Python:python镜像源管理
  5. Tyecho 完美配置评论回复邮件提醒 的简单方法
  6. 电脑上不了网了......
  7. 多变量线性相关分析_如何测量多个变量之间的“非线性相关性”?
  8. 基于STM32的A2B音频信号发生器开发
  9. osgEarth的Rex引擎原理分析(一二五)着色器源代码加工处理过程
  10. 网络模拟器——Cisco、eNSP、EVE、GEN3下载