为什么会这样呢?这是因为系统将上述IP地址中的“036”当成八进制而非十进制数字了,八进制数值“036”转换为十进制正好是“30”(你可以用Windows自带的计算器来验算),所以系统才会以为我们要Ping的是202.108.30.172。在IP地址的十进制数字前面加上0就表示这是八进制数,如果加上0x则表示这是十六进制数值。我们可以验证一下,在命令提示符下输入Ping 0x7f.0.0.1,回车之后你会发现我们Ping的是127.0.0.1。因为0x7f正是十进制数值127的十六进制表示方式。再试试输入Ping 0x7f.0..1,猜猜看会怎么样?没错,这样输入Ping的还是127.0.0.1这个IP地址。
注意,在使用Ping命令Ping某IP地址时,在IP地址的四部分中只能有一部分可以采用八进制或十六进制才输入,其余部分必须还得是十进制数值,否则会出错。比方说,你要是将IP地址202.108.36.172转为八进制0312.0154.044.0254,然后去Ping,系统会报告错误(图4),同样的,如果将点分十进制IP地址的各个部分全部转为十六进制,然后去Ping系统也会报告出错,无法Ping通。所以还是老老实实采用十进制的IP地址去Ping的好。
图4
以后大家在使用Ping命令时就要特别注意了,多一个“0”和少一个“0”有时是不一样的。