ping与我输入的IP地址不同的IP地址[重复]


19

谁能解释为什么CMD ping与我要搜索的IP地址不同的IP地址?

例


这是重复的照片,我只是不记得在哪里
加拿大卢克·雷因斯特尼·蒙尼卡(LINC MONICA)2015年

@DavidPostill,这不是重复的,因为在您链接的问题中,系统会将带有和不带有前导零的数字视为十进制,但是在这个问题中,很明显,系统会将前导零解释为八进制数字。
山姆·斯库斯

3
@SamSkuce您是否读过投票最高的答案?“例如,如果您使用以零开头的3位数字(或以零开头的两位数字,...),则ping将假定数字为八进制。”
DavidPostill

1
同样,当我们建议重复的帖子时,请操作人员查看问题和答案以查看是否相同
Canadian Luke REINSTATE MONICA

Answers:


45

在Windows CMD上,如果在IP地址上放置前导零,则表示八进制

它正在解释01616 octal并将其转换为14 decimal

您可以使用八进制,十进制或十六进制表示法,如以下示例所示:

22.101.31.153 (decimal)
026.0145.037.0231 (octal)
0x16.0x65.0xF1.0x99 (hexadecimal)

3
哇。那是一个可怕的 没有记载的“特征”。事实证明,Chrome浏览器也能做到(4.4.4.84.4.4.010等效)
Cole Johnson

3
好吧,BEEP,它也适用于十六进制!这使旧的ping 10.1000001外观几乎理智ping 10.0xDEAD……!!!!
user3710044 2015年

38
这既不可怕,也没有记录。这是IPv4地址的常规表示法
sleblanc

5
@LukeMcGregor不,我认为标准本身是不好的。我认为领先的0八进制表示法是不好的。虽然我很高兴Microsoft遵循了该标准,但我还是希望它出于可用性的目的而被埋在交换机后面,或者至少给出一些信息说特定的数字被读为八进制,因此您应该省略0,如果你不想那样。
2015年

4
使用IP地址的人员在使用IP地址之前应了解它们的含义。前导八进制八进制表示法很常见,以至于您只会做一次错误。最终用户通常不希望处理IP地址,或者至少他们不应该更改表示形式。如果路由器的手册中显示“连接到172.16.0.1”,则不应输入“ 172.016.000.001”。
sleblanc 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.