`
greemranqq
  • 浏览: 966460 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

JAVA 常用进制 转换

阅读更多

那天别人问了一道题:0010>4和 010>>2.类似这个,发现都以忘了,然后又从新补充,记录一下。

JAVA 中几个进制的表示:

 

二进制

比如 int a = 1;表示应该是 0001.是四位的,但是前面的全是0可以不显示。由于二进制表示太长了,因此一般不用,eclipse 也不会显示出来。听说JDK 1.7 以上 二进制是0b 开头,由于JDK BUG 原因,一直没有,大家自己去了解吧。

 

八进制:

八进制是就有前缀了,以0开头,比如010 ,转换成十进制是8.。在程序转换中,打印前面的0也被省略了。他的范围值 0~7.如果你看见1238,这种,就肯定不是八进制了。

 

16进制:

前缀是0x.比如:0x10,表示16.表示范围是:0~9,A (10)B(11)C(12)D(13)E(14)F(15),如果是:0xFF = 255.

 

上面的转换,我默认全是10进制的转换,下面我们看看 是如何转换的。

 

转换原则:从非0开始计算,用默认进制为底数,当前位置为减-1,为幂,乘以当前位置的数。所有结果相加。

 

二进制转换:因为二进制只能0,1 因此就省略了 * 1.

0111 = 7,   2^(3-1) + 2^(2-1)+2^(1-1) = 4+2+1. 

0101 = 5,   2^(3-1) +2^(1-1) = 4+1. 

 

八进制转:

010 = 8,       8^(2-1)*1= 8

012 = 10,   8^(2-1)*1 +2 = 8+2

036 = 30,     8^(2-1)*3+6 = 24+6

0236 = 158, 8^(3-1)*2+8^(2-1)*3+6 = 128 + 24+6

 

 

16进制转换:

0x10 = 16,         16^(2-1)*1 + 0 = 16 + 0

0x1A =  26,      16^(2-1)*1 +10(A) = 16+10

0x2AF = 687,     16^(3-1)*2+16^(2-1)*10 +15(F) = 512 + 160 + 15

 

至于 10进制转换为 其他进制,就用除法,逆序排序就行,大家都懂的~。~

JAVA 还提供了一些方法,可以用用:

// 将10进制,转换成其他进制
		// 转换成二进制
		System.out.println(Integer.toBinaryString(12));
		// 转换成8进制
		System.out.println(Integer.toOctalString(12));
		// 转换成16进制
		System.out.println(Integer.toHexString(12));
		
		
// 将其他进制转换为10进制 ,默认只能转2~36 进制。
		// 二进制转换
		System.out.println(Integer.parseInt("101", 2));
		// 会出错,因为 二进制只能有01
		//System.out.println(Integer.parseInt("21", 2));
		// 8进制转换
		System.out.println(Integer.parseInt("021", 8));
		// 16进制转为
		System.out.println(Integer.parseInt("021", 17));
		// 5进制转换
		System.out.println(Integer.parseInt("021", 5));
		// 会出错,因为 5进制,不能有6
		//System.out.println(Integer.parseInt("061", 5));
		// 出错,超出转换范围
		//System.out.println(Integer.parseInt("021", 37));

		// 这个和上面类似,只是返回是Integer,上面返回的是int,看源码就知道了
		System.out.println(Integer.valueOf("010", 8));

 

 

 

 

2
2
分享到:
评论

相关推荐

    java串口通讯 短信测试 comm编程 PDU编码 进制转换 AT命令

    13751069146 Saro Modem 短信测试.txt Java Comm API编程指南.doc Javax.comm简介.doc ...常见的进制转换方法.doc 浅谈Java串行端口技术协议.doc 短信 AT 命令参考.doc 短信PDU编码解码.doc 通过串口收发短消息.doc

    计算机常用进制及相互转换.txt

    进位制的信息基本都在这了 我整理的也不是很容易 给个双击 下载支持 谢谢大家

    基于C#的串口调试助手,支持进制转换,可编辑发送队列,支持XModem,YModem,基于.net 2.0开发,单文件免费串口调

    基于C#的串口调试助手,支持进制转换,可编辑发送队列,支持XModem,YModem。基于.net 2.0开发,单文件免费串口调试工具。基本功能:自动识别系统串口号并显示相应的驱动名称。支持常用波特率选择,也可手动输入波特率...

    netty 在java中的字节码转换

    netty通信时经常和底层数据交互,C语言和java的数据类型和范围不同,通信时需要转化或兼容,附件为字节码、进制常用的转换类。

    编写java代码常用的工具代码

    总结了编写java代码常用的算法代码,如ucs2,ascii,进制转换,以及APN相关的管理代码

    Java文本文件加密与解密

    本次使用JAVA语言,采用3DES加密算法进行对文本文件的加密,通过二进制和十六进制的转换来实现,产生加密文件,再对加密文件进行解密。 关键词:DES加密算法、加密、解密。摘要 随着现代网络技术的飞速发展,人们...

    ACM之java速成

    ACM中java常用模板:大数类,常用数据结构和进制转换等知识

    java 工具类

    java 常用工具类,暂时包括MD5、SHA1、HMAC、3DES加密,进制转换

    java源码包---java 源码 大量 实例

     WDSsoft的一款免费源代码 JCT 1.0,它是一个Java加密解密常用工具包。 Java局域网通信——飞鸽传书源代码 28个目标文件 内容索引:JAVA源码,媒体网络,飞鸽传书  Java局域网通信——飞鸽传书源代码,大家都知道VB...

    Java Base64编码方法详解及实例分析

    总之,Base64编码是网络传输中常用的数据编码方式,它可以将二进制数据转换成可打印的ASCII字符串,确保数据在传输过程中的安全性。Base64.encodeBase64String方法是Java中进行Base64编码的一种便捷实现,能够轻松地...

    JAVA上百实例源码以及开源项目

     WDSsoft的一款免费源代码 JCT 1.0,它是一个Java加密解密常用工具包。 Java局域网通信——飞鸽传书源代码 28个目标文件 内容索引:JAVA源码,媒体网络,飞鸽传书  Java局域网通信——飞鸽传书源代码,大家都知道VB...

    JAVA上百实例源码以及开源项目源代码

     WDSsoft的一款免费源代码 JCT 1.0,它是一个Java加密解密常用工具包。 Java局域网通信——飞鸽传书源代码 28个目标文件 内容索引:JAVA源码,媒体网络,飞鸽传书  Java局域网通信——飞鸽传书源代码,大家都知道VB...

    动力节点JAVA完美学习课程 JAVA黄埔军校2018年最新JAVA夜校班全程班视频教程 1-56部分.txt

    ├─(18) 018-Java夜校视频教程-进制及进制之间的转换.avi ├─(19) 019-Java夜校视频教程-变量.avi ├─(20) 020-Java夜校视频教程-变量中常见的错误.avi ├─(21) 021-Java夜校视频教程-变量的分类.avi ├─(22) ...

    Java之Base64编解码.pptx.pptx

    Java Base64编码原理 Java Base64编码是一种用64个字符表示任意二进制...Java Base64编解码广泛应用于网络传输、数据存储等领域,如在HTTP协议中传输二进制数据时,常用Base64编码进行加密和压缩,提高数据传输效率。

    JAVA_API1.6文档(中文)

    java.util.concurrent 在并发编程中很常用的实用工具类。 java.util.concurrent.atomic 类的小工具包,支持在单个变量上解除锁的线程安全编程。 java.util.concurrent.locks 为锁和等待条件提供一个框架的接口和类...

    java源码包4

     WDSsoft的一款免费源代码 JCT 1.0,它是一个Java加密解密常用工具包。 Java局域网通信——飞鸽传书源代码 28个目标文件 内容索引:JAVA源码,媒体网络,飞鸽传书  Java局域网通信——飞鸽传书源代码,大家都知道...

    java源码包3

     WDSsoft的一款免费源代码 JCT 1.0,它是一个Java加密解密常用工具包。 Java局域网通信——飞鸽传书源代码 28个目标文件 内容索引:JAVA源码,媒体网络,飞鸽传书  Java局域网通信——飞鸽传书源代码,大家都知道...

    java源码包2

     WDSsoft的一款免费源代码 JCT 1.0,它是一个Java加密解密常用工具包。 Java局域网通信——飞鸽传书源代码 28个目标文件 内容索引:JAVA源码,媒体网络,飞鸽传书  Java局域网通信——飞鸽传书源代码,大家都知道...

    图片转zpl编码的方法,支持bmp、png、jpg等各种格式以及13种常用条码的zpl命令

    实现思路: 1、获取图片的二值化字节数组 这一步是关键 2、将字节数组转为十六进制 3、压缩十六进制字符串 结尾为1、0或者与上一行相同的;相同的连续字符压缩 4、拼凑ZPL编码,宽度需要扩大,因为需要时8个点(1字节)...

Global site tag (gtag.js) - Google Analytics