有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

解析parseLong方法在java中是如何工作的?

在下面的代码中,我无法理解“CAFEBABE”字符串如何转换为数字

class string {
public static void main (String [] args) {
    long l = Long.parseLong( "CAFEBABE" ,16);
    System.out.println(l); }
} // 3405691582

有人能告诉我这是怎么回事吗?谢谢


共 (2) 个答案

  1. # 1 楼答案

    CAFEBABE是一个有效的十六进制数,因此可以将其解析为十六进制数,这就是16参数的含义

  2. # 2 楼答案

    OxCAFEBABE = E * 16^0 + B * 16^1 + A * 16^2 + B * 16^3 + E * 16^4 + F * 16^5 + A * 16^6 + C * 16^7  (decimal)
    

    在上述计算中,用十进制表示替换十六进制数字,即A表示10,B表示11,C表示12,e表示14,F表示15