点十进制记数法的用途是什么



如果所有IPv4地址总是写为12位长,没有点,那么任何ip地址都是明确的,因此仍然有效。

例如127.0.0.1可以写成127000000001

我觉得这会让解析和使用ip地址变得更容易。如果是这样的话,那么点小数表示法背后的目的是什么?使用点小数表示法有什么好处?

研究表明,人类最多只能读取五个数字,而不会开始在这些数字的位置上出错。这就是为什么人类开始以千为单位对数字进行分组。例如读取:

 1578124

很难快速解析。然而,如果我们将其表示为:

1 578 124

这要容易得多。

特别是如果有许多数字具有相同的值,如:

1000001101111000100001

一个人很容易失去计数。

他们可能不想使用空格的原因是,大多数终端将空格解释为新的自变量。因此:

ping 127 0 0 1
connect: Invalid argument

将被解释为四个不同的参数(主机)。使用点可以让人和机器都很容易。

但是IPv4地址由四个字节(从0255的四个数字)组成。这样一来,它就可以紧凑地存储在一个网络包中的四个字节中。如今,这已经不那么重要了,因为带宽太大了,四个字节根本不需要时间。但在早期,压缩地址可以节省很多时间。

IPv6地址也是如此。零的长序列可以缩写为::

IP地址以这种方式存储:例如,"127.0.0.1"实际上是0x7F000001;任何第三种表示都没有意义。

127000000001(一千二百七十亿零一)比127000000001更可读。

"127.0.0.1"比0x7F000001可读性更强。

"Hello World!"比0x48656C6C6F20576F726C642100可读性更强。

你好,世界

<h1>Hello World!</h1>更可读。

视图比它们所代表的模型更具可读性。

作为软件开发人员,我们的主要工作是获取建模数据并将其作为用户内容呈现(或获取用户输入并将其建模为数据):请不要剥夺我们的这一点。

每一组点十进制表示法中的数字表示二进制中的一个字节。例如:

127 -> 0111 1111
0 -> 0000 0000
1 -> 0000 0001

因此127.0.0.1表示01111111 000000000000000000000001,正如计算机所看到的那样。如果你将这个二进制数字视为一个大数字,它的实际十进制值将是2130706433,如果不是点十进制,它将成为你的IP地址。由于显而易见的原因,人类可以更容易地记住127.0.0.1。此外,不使用点小数表示法意味着你无法消除那些使其为127.0.0.1而不是127.0.000.001的前导零。

相关内容

最新更新