Java中的基数参数是什么?它是如何工作的?
我知道函数Java中的基数参数是什么?它是如何工作的?,java,wrapper,numeric,radix,Java,Wrapper,Numeric,Radix,我知道函数Integer.parseInt()的基数是将字符串转换为字符串的基础。用基数/基数16转换的11基数10不应该是aB而不是17 以下代码根据教科书打印17: public class Test { public static void main(String[] args) { System.out.println( Integer.parseInt("11", 16) ); } } 当您使用基数执行ParseInt操作时,以11为基数的16被解析为17,这是一个简
Integer.parseInt()
的基数是将字符串转换为字符串的基础。用基数/基数16转换的11基数10不应该是aB
而不是17
以下代码根据教科书打印17:
public class Test {
public static void main(String[] args) {
System.out.println( Integer.parseInt("11", 16) );
}
}
当您使用基数执行
ParseInt
操作时,以11为基数的16被解析为17,这是一个简单的值。然后将其打印为基数10
你想要:
System.out.println(Integer.toString(11, 16));
这将采用十进制值11(目前没有基数,就像有“十一”个西瓜(比一个人的手指数多一个))并以基数16打印,结果是B
当我们获取一个
int
值时,它被存储为计算机物理内存中的基数2(几乎在所有情况下),但这是无关的,因为解析和tostring转换使用任意基数(默认为10)。它实际上是以十六进制获取11
,并将其转换为十进制。因此,例如,如果您有相同的代码,但字符串中有“A”
,它将输出10
,函数将按照您的想法向后运行。将基数16中的“11”转换为基数10,结果为17。此处
public class Test {
public static void main(String[] args) {
System.out.println(Integer.parseInt("11", 16));
}
}
11是基于16的数字,应转换为10,即十进制
So, integer of (11)16 = 1*16^1 +1*16^0 = 16+1 = 17
要从基数10转换为基数16,请使用
System.out.println(Integer.toString(11, 16));
输出将是b。您基本上告诉我们解析11,就像它是基数16一样 所以如果你知道如何从十六进制转换成十进制 看起来像这样 十六进制中的11=(16^0)*1)+(16^1)*1)=十进制中的17 如果要从基准10转换为任何基准,请使用:
Integer.toString(11, 16); //HEXA
output: b
Integer.toString(11, 10); //decimal
output: 11
Integer.toString(11, 8); //octal
output: 13
Integer.toString(11, 2); //Binary
output: 1011
反过来说。您要求它在base-16中解释
“11”
。i、 e.1*16+1.谢谢你的邀请clarification@MinhTran请勾选对你帮助最大的答案。