如果所有IPv4地址总是写成12位数字而没有点,那么任何ip地址都是明确无误的,因此仍然有用。
例如,127.0.0.1可写为127000000001
我觉得这会使解析和使用ip地址更容易。如果是这种情况,那么点十进制表示法的目的是什么?使用点十进制表示法有什么好处?
答案 0 :(得分:4)
研究表明,人类最多只能读取五位数而不会在这些数字的位置上出错。这就是为什么人类开始将数字分组成千上万的原因。例如阅读:
1578124
很难快速解析。但是,如果我们将其表示为:
1 578 124
这样更容易。
特别是如果有许多具有相同值的数字,如:
1000001101111000100001
一个人很容易失去数量。
他们可能不想使用空格的原因是因为大多数终端将空格解释为新参数。所以:
ping 127 0 0 1
connect: Invalid argument
将被解释为四个不同的参数(主机)。使用圆点使人和机器都变得容易。
但IPv4地址由四个字节组成(四个数字范围从0
到255
)。这样做可以紧凑地存储在网络包中的四个字节中。如今,这一点并不那么重要,因为带宽非常大,四个字节根本就没有时间。但在早期压缩地址可以节省很多时间。
IPv6地址也是如此。较长的零序列可以缩写为::
。
答案 1 :(得分:3)
以这种方式存储的IP地址:例如,“127.0.0.1”实际上是0x7F000001;任何第三种代表都没有意义。
127,000,000,001(一百二十七亿和一)比127000000001更具可读性。
“127.0.0.1”比0x7F000001更具可读性。
“Hello World!”比0x48656C6C6F20576F726C642100更具可读性。
<h1>Hello World!</h1>
更具可读性。
视图比它们代表的模型更具可读性。
我们的主要工作,因为软件开发人员正在采用建模数据并将其作为用户内容呈现(或将用户输入并将其建模为数据):请不要将其从我们这里拿走。
答案 2 :(得分:2)
以十进制表示法表示的每组数字表示二进制的字节。例如:
127 -> 0111 1111
0 -> 0000 0000
1 -> 0000 0001
所以127.0.0.1表示01111111 00000000 00000000 00000001,正如计算机所见。 如果您将此二进制数视为一个大数字,它的实际十进制值将是2130706433,如果它不是点十进制表示法,它将成为您的IP地址。 出于显而易见的原因,人类可以更容易地记住127.0.0.1。此外,不使用点十进制表示法意味着您无法消除那些使其成为127.0.0.1而不是127.000.000.001的前导零。