当前位置: 首页 > 面试题库 >

为什么要使用十六进制值而不是普通的基数10?

卢承弼
2023-03-14
问题内容

我正在查看此代码以math.sqrtJava
进行计算。他们为什么在某些循环中使用十六进制值,而对于变量却使用常规值?使用十六进制有什么好处?


问题答案:

因为十六进制对应的位数比十进制数更紧密。每个十六进制数字对应于4位(半字节)。因此,一旦您了解了与每个十六进制数字(0-F)相关的位掩码,就可以执行“我想要低位字节的掩码”之类的操作:

0xff

或者,“我想为低31位使用掩码”:

0x7fffffff

仅供参考:

HEX    BIN
0   -> 0000
1   -> 0001
2   -> 0010
3   -> 0011
4   -> 0100
5   -> 0101
6   -> 0110
7   -> 0111
8   -> 1000
9   -> 1001
A   -> 1010
B   -> 1011
C   -> 1100
D   -> 1101
E   -> 1110
F   -> 1111


 类似资料:
  • 问题内容: 有时,我看到用十六进制而不是十进制数字定义的整数常量。这是我从GL10类中学到的一小部分: 显然,用而不是定义起来更简单,那么也许会有一些性能提升吗?我绝对不这么认为,因为那以后更改它应该是编译器的工作。 问题答案: 可能是为了组织和视觉上的清洁。基数16与二进制的关系比基数10更简单,因为在基数16中,每个数字正好对应于四个位。 请注意,在上述常量中,常量是如何与许多数字组合在一起的

  • 问题内容: 根据 Swift编程语言 : 例如,0xFp2表示15×2 ^ 2,其值为60。类似地,0xFp-2表示15×2 ^(-2),其值为3.75。 为什么使用2作为指数的底数而不是16?我本来期望而不是 问题答案: Swift的十六进制浮点数表示法只是C99标准为输入和输出(使用printf 格式)为C引入的表示法的一种变体。 该表示法的目的是使人易于理解,并使IEEE 754表示法的位易

  • 参考Java的Fork/Join vs ExecutorService-何时使用哪个?,传统的线程池通常用于处理许多独立请求;用于处理连贯/递归任务,其中一个任务可能会产生另一个子任务并稍后加入。 那么,为什么Java-8的默认使用而不是传统的执行器? 在许多情况下,我们在或之后使用,然后提交一个函数式接口作为参数。从我的角度来看,这些任务是独立的,不是吗?

  • 问题内容: 使用以下jQuery将获取元素背景色的RGB值: 有没有办法获取十六进制值而不是RGB? 问题答案:

  • 问题内容: 我一直在阅读Go,并为这个基本问题感到困惑。 在Go中,很明显,切片更灵活,并且在需要一系列数据时通常可以代替数组使用。 阅读了大多数文档,他们似乎鼓励开发人员只使用切片而不是数组。我得到的印象是,创建者可以简单地将数组设计为可调整大小的,而无需整个切片部分即可完成。实际上,这样的设计会使该语言更易于理解,甚至鼓励使用更多惯用的代码。 那么,为什么创建者首先要允许数组呢?什么时候可以使

  • 问题内容: 这里的快速问题:为什么不总是在Java中使用ArrayLists?除了额外的有用功能之外,它们显然具有与数组相同的访问速度。我理解它的局限性,因为它不能容纳原语,但是可以通过使用包装程序轻松地减轻这种情况。 问题答案: 如果需要原始类型的集合,那么数组很可能是完成这项工作的最佳工具。装箱是比较昂贵的操作。对于将用作图元的图元集合(不包括地图),我几乎总是使用数组来避免重复装箱和拆箱。