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”为增量的事物)
十进制
形容词
与十分之一或数字 10 有关。
按十位进行:十进制。
http://www.dictionary.com/browse/decimal
还需要注意的是,IP 地址在处理时不是一个单一的数字,而是 4 个字节的二进制数,是分部分进行评估的,而不是整体进行评估,因此虽然您可以将所有 4 个字节加在一起形成一个范围在 0-41 亿之间的数字,但这并不是 TCP/IP 堆栈实际使用它的方式。
例如RFC 791,每个八位字节的高位都以某些模式进行评估,包括以 0 开头的模式。如果您正在查看字节,那么一个字节可能以 0 位开头是完全合理的,但对于数字,要么没有数字以零开头,要么所有数字都以零开头,这取决于您想如何看待它。所以简单地说,IP 地址不是一个数字,而是一组协同工作的数字,其方式与纬度和经度非常相似。