在 IPv4 中,地址为 32 位二进制数。 但是,为了方便人们使用,使用点分十进制表达二进制形式的 IPv4 地址。 这首先是使用点号将 32 位二进制形式按字节(8 位)分隔开,这种形式称作二进制八位数。 之所以称为二进制八位数,是因为每个十进制数字代表一个字节,即 8 个位。

二进制地址:

11000000 10101000 00001010 00001010

的点分十进制表示为:

192.168.10.10

在图 1 中,请选择各个按钮查看如何以点分十进制的二进制八位数表示 32 位二进制地址。

但是,如何确定实际十进制等值数值?

二进制数制系统

在二进制数制系统中,基是 2。 因此,每个位置的增幂为 2. 在 8 位二进制数中,位置代表这些数值:

2^7 2^6 2^5 2^4 2^3 2^2 2^1 2^0

128 64 32 16 8 4 2 1

基数为 2 的数制系统只有两个数字:0 和 1。

如图 1 所示,当我们将一个字节解释为十进制数时,如果某个位置的数字为 1,则计算该位置所代表的数量,而如果该位置的数字为 0,则不计算该数量。

图 2 为十进制数 192 的二进制表达形式。 在某个位置上的数字 1 表示要将该值计入总数。 0 表示我们无需将其计入总数。 二进制数 11000000 在 2^7 位置(十进制值为 128)有一个 1,在 2^6 位置(十进制值为 64)也有一个 1。 剩余位都是 0,因此我们不计算相应的十进制值。 128+64 相加的结果是 192,为 11000000 的相应十进制值。

下面是两个其他示例:

示例 1:各个位置均为 1 的二进制八位数:11111111

各个位置上的数字 1 都表示要将该位置的值计入总数。 各个位置上的数字均为 1 表示这些值均需计入总数,因此所有的 1 相加的二进制八位数和为 255.

128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 255

示例 2:各个位置均为 0 的二进制八位数:00000000

各个位置上的数字 0 表示该位置的值不计入总数。 每个位置均为 0 时得出的总数为 0。

0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 = 0

一和零的不同组合会得出不同的十进制数值。