Java提供了以2、8、10和16为基数编写数字文字的功能。我想知道为什么要包含以8为底的数字。我认为可能存在类似于十六进制的一个字节的容量为FF + 1的事实,依此类推。
“八进制数不像以前那样普遍。但是,当一个字中的位数是3的倍数时,将使用八进制数。它还用作表示UNIX系统和UTF8数字的表示形式,等等。“
是让熟悉C等语言的人熟悉这种语言。然后的问题是为什么要在那些人中支持它!
[有些架构(各种PDP)使用18 bit wide words(其他使用36位字),所以数字为3位宽的文字将很有用。
实际上,我看到的唯一用于指定Unix样式权限的地方,例如0777
,0644
等
(嘲笑为什么支持它的原因是“要在this question上投票”)。
八进制数在使用4位并且需要带符号的数字时很有用。因此,它现在大部分都是历史性的(或教育性的,例如简单的2的补语计算),因为我们甚至可以选择16、32和64位处理器来完成简单的任务。
例如:如果我们有4位代表一个有符号的二进制数(1位代表符号,3位代表幅度),那么我们可以用符号幅度表示法表示的数字范围将是...
-2^(4-1) – 1 to +2^(4-1) – 1
-2^(3) – 1 to +2^(3) – 1
-7 to +7
即八进制数范围。