dポイントプレゼントキャンペーン実施中!

IPアドレスについての質問です。
次のようにpingします。

C:\>ping 11.22.33.44

Pinging 11.22.33.44 with 32 bytes of data:

Request timed out.
Request timed out.
Request timed out.
Request timed out.

Ping statistics for 11.22.33.44:
Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),

こうなります。(皆もこうなるはず)
次はこう打ってみます。

C:\>ping 011.022.033.044

Pinging 9.18.27.36 with 32 bytes of data:

Request timed out.
Request timed out.
Request timed out.
Request timed out.

Ping statistics for 9.18.27.36:
Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),

ここで 11.22.33.44 は 11.22.33.44 なのになんで 011.022.033.044 は 9.18.27.36 でpingされるのでしょうか?

A 回答 (6件)

前ゼロがつくと8進数表記とみなされるから。


(1×8)+1=9,(2×8)+2=18,(3×8)+3=27,(4×8)+4=36
    • good
    • 0
この回答へのお礼

早速の回答ありがとうございます。

8進数ですか・・・
ということで、010.077.080.100 と打ってみたら、7.8.63.80.100 になりました。
前にゼロが付いても、8進数にならないでないものは10進数で表示されるみたいですね。
なるほど・・・

もし知ってたら教えてください。
なぜ前にゼロが付いたら8進数とみなさなければいけないのでしょうか?

お礼日時:2008/06/10 00:11

ANo.2とANo.3の同時刻回答もおもしろいですよ。


ANo.1,ANo.3,ANo.2,ANo.4 と,2と3の並びが逆になっているんですよね。
    • good
    • 0

#4 は、#3 さんのものと同じです。


わずかの、時間差で重複の様になってしまいました。
// 閲覧している時はなかった。
無視して下さい。
    • good
    • 0

歴史的経過は


下記が詳しいです。
http://q.hatena.ne.jp/1149751438
    • good
    • 0

>なぜ前にゼロが付いたら8進数とみなさなければいけないのでしょうか?



そのような慣例があるからです。ご存じないようでしたら知っておいてください。

【参考】
0で始まる数値を8進数とみなすのは歴史的に何から始まったのでしょうか?
http://q.hatena.ne.jp/1149751438
    • good
    • 0
この回答へのお礼

度々の回答ありがとうございます。

>そのような慣例があるからです。ご存じないようでしたら知っておいてください。
「小数を表す時は整数の後に.を付けろ」「マイナスの値は前に-を付けろ」というのと同じ意味に聞こえました。


しかし、回答の順が逆になってたのは面白かったです。
#2と4の間に3が無かったので、#3はどこ行った?変な回答で消された?と思いました。(笑)

お礼日時:2008/06/10 09:32

>ということで、010.077.080.100 と打ってみたら、7.8.63.80.100 になりました。


>前にゼロが付いても、8進数にならないでないものは10進数で表示されるみたいですね。

100の前に0がついていませんよね。010.077.080.0100でやってみてください。

>なぜ前にゼロが付いたら8進数とみなさなければいけないのでしょうか?

お約束だから。0xをつければ16進になります。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

8進でもびっくりなのに、16進まで表示できるとは目から鱗でした。
試してみたら、
 0x10.0x100.0xaa.0xff = 16.32.170.255
となりました。

でも入力ミスで変なところに繋がる危険性があることがわかりました。
これでまた1つ賢くなりました。

お礼日時:2008/06/10 09:39

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!