Java快速访问数组项

标签 java arrays hex

我正在执行一个返回长十进制的计算,例如 4611686018427387904。我需要首先将其转换为十六进制,然后根据设置的位检查大小为 (16) 的数组。

所以上面的数字被转换为 0x40000000000000000L,这对应于数组中的第一个索引。如果数字为 0x0004000000000000L,则它对应于数组中的第三个索引。

我的问题是:

  1. 有没有快速将十进制转换为十六进制的方法?
  2. 是否有一种根据值的位集快速访问数组的方法(而不是使用循环)?

最佳答案

如果数字在长范围内,请使用 Long.highestOneBit() 。或者,BigInteger 有 bitLength()方法。

关于Java快速访问数组项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15396293/

相关文章:

javascript - Json 数据转入 JavaScript 数组

colors - 将十六进制颜色转换为 RGB,反之亦然

c# - 用 RegEx 重写 IsHexString 方法

java - "AWT-EventQueue-0"保存 JTable (DefaultTableModel) 时出现 java.lang.NullPointerException

java - asm 编译器中的二进制表达式

java - 为什么此代码会抛出 ArrayIndexOutOfBoundsException?

java - 替换字符串中的数字

java - "R. Sedgewick Algorithms in Java: Parts 1-4"中的分而治之法

java - <? super/extends String> 在方法和变量声明中

c++ - 在函数中初始化,未在main中初始化