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