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。

posted @ 2020-01-13 18:00  wlv1314  阅读(21971)  评论(1编辑  收藏  举报