点分十进制表示法是以 256 还是 10 为基数的?

点分十进制表示法是以 256 还是 10 为基数的?

IP V4 地址是 32 位地址。

在点分十进制表示法中,我们将 IP 地址分成 4 个部分,并写下每个八位字节的值。

for example:  binary----> 10000000 00000001 00000001 00000001

              base 10----> 1*(2^31+2^16+2^8+2^0)

              base 256----> 128       1        1        1

我可以说吗?“人们说点分十进制表示法是以 10 为基数的说法是不正确的”

我的问题的附加信息:

当我想将 2 进制转换为 16 时,我应该从右到左开始,因为 2^4=16 将 4 个成员分成一组,然后写入值

binary   1000 0000 0000 0001 0000 0001 0000 0001
hex       8      0    0    0    0    1    0   1   

我认为在点分十进制表示法中我们创建 4 组,每组 8 个成员,因为 2^8=256 而我们没有足够的数字来表示 256 基数,所以我们以 10 为基数写下每组的值,不是吗?

答案1

点分十进制表示法同时使用 256 和 10 两种基数。IP 地址以 256 为基数表示。但由于缺少 256 个方便使用的符号,因此 256 基数 IP 地址的每一位数字都以 10 为基数来表示。

如果某个数字被划分为不超过 9 个单位,那么它就以十进制表示,然后不超过 9 个十位,不超过 9 个百位,等等。在这里,IP 地址被划分为不超过 255 个单位,不超过 255 个 65,536 个,不超过 255 个 256^2,等等。因此,它以 256 为基数表示。

答案2

点分十进制中的Decimal表示十进制。事实上,这就是Decimal字面意思(以“十进制”或“10”为增量的事物)

十进制

形容词

  1. 与十分之一或数字 10 有关。

  2. 按十位进行:十进制。

http://www.dictionary.com/browse/decimal

还需要注意的是,IP 地址在处理时不是一个单一的数字,而是 4 个字节的二进制数,是分部分进行评估的,而不是整体进行评估,因此虽然您可以将所有 4 个字节加在一起形成一个范围在 0-41 亿之间的数字,但这并不是 TCP/IP 堆栈实际使用它的方式。

例如RFC 791,每个八位字节的高位都以某些模式进行评估,包括以 0 开头的模式。如果您正在查看字节,那么一个字节可能以 0 位开头是完全合理的,但对于数字,要么没有数字以零开头,要么所有数字都以零开头,这取决于您想如何看待它。所以简单地说,IP 地址不是一个数字,而是一组协同工作的数字,其方式与纬度和经度非常相似。

相关内容