Java中的基数参数是什么,它是如何工作的?

2022-09-01 16:02:45

我知道函数的基数是将字符串转换为的基础。用基数/基数16转换的11基数10不应该是一个而不是?Integer.parseInt()B17

以下代码根据教科书打印 17:

public class Test {
  public static void main(String[] args) {
    System.out.println( Integer.parseInt("11", 16) );
  }
}

答案 1

使用基数执行操作时,11 基数 16 将解析为 17,这是一个简单的值。然后将其打印为基数 10。ParseInt

你想要:

System.out.println(Integer.toString(11, 16));

这采用十进制值11(目前没有基数,就像有“十一个”西瓜(比一个人的手指数多一个))并用基数16打印它,得到。B

当我们取一个值时,它以基数2的形式存储在计算机的物理内存中(几乎所有情况下),但这无关紧要,因为解析和tostring转换使用任意基数(默认情况下为10)。int


答案 2

它实际上是采用十六进制并将其转换为十进制。因此,例如,如果您有相同的代码,但在字符串中,它将输出.11"A"10