二进制到十进制的转换

 要了解设备在网络中的运行,需要以设备使用的方式(即二进制记法)来查看地址和其它数据。这意味着我们需要具备将二进制转换为十进制的一些技能。

 
以二进制表示的数据对于以人为本的网络来说可能代表很多不同形式的数据。在本文的讨论中,我们所指的二进制与 IPv4 编址有关。也就是说,我们将每个字节(二进制八位数)视为从 0 到 255 范围内的一个十进制数字。
 
位置记数法
 
要学习将二进制转换为十进制,需要先了解一个数制系统的数学基础知识,该数制系统称为位置记数法。位置记数法即数字根据其所占用的位置来表示不同的值。具体来说,数字代表的值等于该数字乘以它所在位的基数(即基)的幂次所得的积。我们可以举例说明此数制系统的原理。
 
以十进制数字 245 为例,2 表示的值是 2*10^2(2 乘以 10 的 2 次幂)。2 位于我们通常称为“百位”的位置。位置记数法称此位置为基数的 2 次幂位置,因为基数(即基)是 10 而幂是 2。
 
在基数为 10 的数制系统中使用位置记数法时,245 表示:
 
245 = (2 * 10^2) + (4 * 10^1) + (5 * 10^0) 
 
245 = (2 * 100) + (4 * 10) + (5 * 1) 
 
二进制数制系统
 
在二进制数制系统中,基是 2。因此,每个位置代表 2 的幂,幂次逐位增加。在 8 位二进制数中,各个位置分别代表以下数量:
 
2^7 2^62^5 2^4 2^32^2 2^1 2^0
 
128 64 32 16 8 4 2 1
 
基数为 2 的数制系统只有两个数字:0 和 1。
 
如图所示,当我们将一个字节转换为十进制数字时,如果某个位置的数字为 1,则计入该位置所代表的数量,而如果该数字为 0,则不计入其数量。
 
1 1 1 1 1 1 1 1
 
128 64 32 16 8 4 2 1
 
各个位置上的数字 1 都表示要将该位置的值计入总数。以下是一个二进制八位数的每个位置都为 1 时的累加算法。总数为 255。
 
128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 255
各个位置上的数字 0 都表示该位置的值不计入总数。每个位置均为 0 时得出的总数为 0。
 
0 0 0 0 0 0 0 0
 
128 64 32 16 8 4 2 1
0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 = 0
 
 

二进制到十进制的转换_第1张图片

在示例中,二进制数字

10101100000100000000010000010100

转换为

172.16.4.20

换算时请牢记以下步骤:

  • 将 32 个比特位划分为 4 个二进制八位数。
  • 将每个二进制八位数转换为十进制数。
  • 在每个十进制数字之间添加“点”号。

你可能感兴趣的:(二进制,转换,十进制,休闲,bbc12000)