java - 如何在 Java 中将 BigInteger 值转换为 Hex

标签 java

我有一个 BigInteger 数字,我需要将它转换为十六进制。我尝试了以下方法:

    String dec = null;
    System.out.println("Enter the value in Dec: ");
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    dec = br.readLine();  
    BigInteger toHex=new BigInteger(dec,16);
    String s=toHex.toString(16);
    System.out.println("The value in Hex is: "+ s);

但这并没有给我转换后的正确值。谁能帮忙。

最佳答案

你应该改变

BigInteger toHex=new BigInteger(dec,16);

BigInteger toHex=new BigInteger(dec,10);
                                     ^

目前您要求用户提供十进制值,然后将输入解释为十六进制值。 (这就是输出与输入相同的原因。)

关于java - 如何在 Java 中将 BigInteger 值转换为 Hex,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11918123/

相关文章:

java - private void function(Integer[] a, String str = "") 就像在 PHP 中一样

java - 使用java解析SQL语句

java - libgdx 剪切图像

java - 用Java解析包含XML片段的文件

java - 如何在 Java 中直接将字符串写入 S3?

java - 将 html 页面设置为 servlet 响应

java - 我怎样才能避免将顶级组件的单个实例传递给我的所有子类

java - 用于 HTML 到文本转换的开源 java 库

java - 在 Java 中不使用数学/按位运算符查找偶数/奇数

java - Liferay 链接到具有特定操作的另一个 portlet