程序员何时以及为何在 java 中使用八进制和十六进制文字?
when and why does programmers use octal and hexadecimal literals in java?
作为初学者,我正在学习 java,我学习了文字。我知道八进制和十六进制文字包含 3 位和 4 位。我们可以使用它们而不是二进制文字来编写更具可读性的代码。我们可以在二进制或大整数文字中使用 _(下划线)以使其可读。
那为什么我们实际上使用十六进制或八进制?
考虑处理 32 位数据
int x = 0b1111_1111_0000_0000_1111_1111_0000_0000;
使用十六进制
int x = 0xFF00FF00;
可读性更强,输入更容易。八进制在野外非常罕见,但同样适用。
你使用 hex 因为它比 binary 在做 bit-manipulation 时更短。不知道为什么有人会使用 octal.
例如从 RGB int
中提取绿色值时,您将使用 (rgb >> 8) & 0xFF
,因为 0xFF
比 255
、0377
和 0b11111111
好得多在这种情况下。
作为初学者,我正在学习 java,我学习了文字。我知道八进制和十六进制文字包含 3 位和 4 位。我们可以使用它们而不是二进制文字来编写更具可读性的代码。我们可以在二进制或大整数文字中使用 _(下划线)以使其可读。
那为什么我们实际上使用十六进制或八进制?
考虑处理 32 位数据
int x = 0b1111_1111_0000_0000_1111_1111_0000_0000;
使用十六进制
int x = 0xFF00FF00;
可读性更强,输入更容易。八进制在野外非常罕见,但同样适用。
你使用 hex 因为它比 binary 在做 bit-manipulation 时更短。不知道为什么有人会使用 octal.
例如从 RGB int
中提取绿色值时,您将使用 (rgb >> 8) & 0xFF
,因为 0xFF
比 255
、0377
和 0b11111111
好得多在这种情况下。