Scala 十六进制值的整数错误太大

Scala 十六进制值的整数错误太大,scala,integer,largenumber,Scala,Integer,Largenumber,对于整数,如果它抛出类似的错误,我可以使用“BigInt”,那么十六进制值呢?严格来说,我不想将十六进制值转换成整数,然后再使用它。有人能帮忙吗 val a = 0x1265465678687564534344536 <console>:1: error: integer number too large val a=0x12654656786875645344536 :1:错误:整数太大 该类有一个构造函数,它接受一个字符串参数,因此简单的答案是:与其使用超出任何有意义范围的数值

对于整数,如果它抛出类似的错误,我可以使用“BigInt”,那么十六进制值呢?严格来说,我不想将十六进制值转换成整数,然后再使用它。有人能帮忙吗

val a = 0x1265465678687564534344536
<console>:1: error: integer number too large
val a=0x12654656786875645344536
:1:错误:整数太大

该类有一个构造函数,它接受一个字符串参数,因此简单的答案是:与其使用超出任何有意义范围的数值文本,不如基于“0x12654656786875645344536”创建一个大整数

使用BigInteger类,该类接受字符串参数并将基数传递为16以指示十六进制字符串

new BigInteger(string, 16)

你的问题不清楚。“对于整数,我可以用‘BigInt’来解决这个问题,十六进制值是什么意思?”?十六进制是表示整数的一种方式,所以这里有一个整数。用三进制(
10
)、二进制(
11
)、一元(
111
)、十进制(
3
)、十六进制(
3
)、十六进制(
3
)或任何其他基表示的整数“三”之间没有区别。它仍然是同一个整数。“我不想将十六进制值转换成一个整数,然后再使用它。”——同样,这是不清楚的。不能“将十六进制值转换为整数”。没有“十六进制值”这样的东西。十六进制是在文本中表示数字的一种方式。它纯粹是一种表示价值的方式,而不是价值本身。代码中的十六进制整数文本已经是一个整数值了……尽管它是非法的。“我希望它严格地用十六进制”——这是什么意思?