java-十进制与十六进制的转化


问题:

在一些特定的情况下,程序中需要用到进制之间的转化,现在来说说十进制和十六进制的转化。

其实java进制转换非常的简单。

那问什么还要说这个问题呢?

因为在转化的时候遇到一个问题。。。

记录一下,防止再次发生。

一、十六进制转十进制

1.错误的做法

 

 其实对于这种写法,部分是可以使用的(十六进制表示的是正数可以使用),但是当十六进制表示的是负数的时候就会抛异常了:

 Exception in thread "main" java.lang.NumberFormatException: For input string: "FFFFFC19"

 

 这是因为负数的十六进制所表示的值超出了Integer的范围,所以会抛出此异常。

2.正确的做法:

使用BigInteger就可以解决上面的问题

 

 二、十进制转十六进制

这个就很容易了。

 

 %X就是格式化成十六进制(X就是大写,x就是小写),8表示8位,0表示如果不够8位则往前面补0。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM