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
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章