アプリ版:「スタンプのみでお礼する」機能のリリースについて

IPアドレスの表示が10.128.100.1がデータベースの値の値を見ると176186369でした。
他にもIPアドレスが10.128.100.2だとデータベースの値は176186370でした。

左の10.~が右の1761~になる法則・規則にはどのような式を使っているんでしょうか?

A 回答 (4件)

>どのような式を使っているんでしょうか?


こんな式
 10.128.100.1 -> (((10*256) + 128)*256 + 100)*256 + 1
 10.128.100.2 -> (((10*256) + 128)*256 + 100)*256 + 2
一般に
 A.B.C.D -> (((A*256) + B)*256 +C)*256 + D
です
    • good
    • 0
この回答へのお礼

因数分解のような感じでとても深いと感じました。
頭の回転の速さには恐れ入りました。

お礼日時:2017/11/15 21:37

176186369(10進数)= 0A 80 64 01(16進数)


176186370(10進数)= 0A 80 64 02(16進数)

10 . 128 . 100 . 1 = 0A . 80 . 64 . 01
10 . 128 . 100 . 2 = 0A . 80 . 64 . 02

そもそも、IPv4アドレスは32ビットで、10.128.100.1 のような表記は、人間にわかりやすいように8ビット毎にピリオドで区切って10進数で書いてあるだけです。
    • good
    • 0
この回答へのお礼

16進数に変換するのは盲点でした。
それから2個ずつ分けて復元するんですね。
ありがとうございます。

お礼日時:2017/11/15 21:35

考え方としては256進数の4桁(オクテット単位)の数字だと思えばわかりやすいでしょう

    • good
    • 0
この回答へのお礼

ありがとうございます。
IPアドレスの仕組みについて勉強になりました。
面白そうなので引き続き調べてみたいと思います。

お礼日時:2017/11/15 21:34

一番左のブロックには、256の三乗(16,777,216)を掛けます


左から二番目のブロックには、256の二乗(65,536)を掛けます
三番目には、256を掛けます
右端はそのまま

この四つの数値を加算します

どう?
計算出来ましたか?
    • good
    • 0
この回答へのお礼

ありがとうございます。
256と言うのが味噌ですね。
参考になりました。

お礼日時:2017/11/15 21:33

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