Scala實現IP轉Long

//方法接收一個String類型的IP如:192.168.100.100,返回一個數字如:3232261220
def ipToLong(ip: String): Long = {
      //注意:IP個原始面貌:
      //10111111.10111010.11110000.11110000
      val ipArr: Array[Int] = ip.split("[.]").map(s => Integer.parseInt(s))
      var ipnum = 0L
      for (i <- ipArr) {
        //<<表示位運算左移 ,0L左移之後還是0L,二進制形式:00000000.00000000.00000000.00000000
        //其他數,左移之後,後面補0
        //|表示位運算或,或的特點是,與0進行或,返回本身
        //第一次:
        //00000000.00000000.00000000.10111111
        //00000000.00000000.00000000.00000000
        //00000000.00000000.00000000.10111111
        //第二次:
        //00000000.00000000.00000000.10111010
        //00000000.00000000.10111111.00000000
        //00000000.00000000.10111111.10111010
        //第三次:
        //00000000.00000000.00000000.11110000
        //00000000.10111111.10111010.00000000
        //00000000.10111111.10111010.11110000
        //第四次:
        //00000000.00000000.00000000.11110000
        //10111111.10111010.11110000.00000000
        //10111111.10111010.11110000.11110000
        ipnum = i | (ipnum << 8)
      }
      ipnum
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章