我有一个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);
Run Code Online (Sandbox Code Playgroud)
但转换后这并没有给我正确的值.任何人都可以帮忙.
aio*_*obe 12
你应该改变
BigInteger toHex=new BigInteger(dec,16);
Run Code Online (Sandbox Code Playgroud)
至
BigInteger toHex=new BigInteger(dec,10);
^
Run Code Online (Sandbox Code Playgroud)
目前,您要求用户输入dec值,然后将输入解释为十六进制值.(这就是输出与输入相同的原因.)
小智 5
String hexValue = "FFF";
System.out.println("HexaDecimal Value :"+hexValue);
BigInteger bigint = new BigInteger(hexValue ,16);
System.out.println("Big Int Value :"+bigint);
BigInteger s = new BigInteger("4");
bigint = bigint.add(s);
System.out.println("After Addition :"+bigint);
String hexNewValue = bigint.toString(16);
System.out.println("HexaDecimal Value after Addition :"+hexNewValue);
Run Code Online (Sandbox Code Playgroud)