`

IP地址转换成10进制整数

 
阅读更多

一、由域名求IP地址的程序

下面程序由命令行输入域名,输出ip

import java.net.*;
public class nslookup {
//Usage:java nslookup hostname
public static void main (String argv[]) throws Exception {
String host=argv[0];
InetAddress address=null;
try {
  address=InetAddress.getByName(host);
} catch(UnknownHostException e) {
  System.out.println("Unknown host");
  System.exit(0);
}
byte[] ip=address.getAddress();
for (int i=0;i< ip.length;i++) {
    if (i>0) System.out.print(".");
    System.out.print(ip&0xff);
}
  System.out.println();
}
}

程序运行结果:

C:\java>java nslookup sina.com
71.5.7.138

C:\java>

二、 得到某个域名的所有IP地址

import java.net.*;
import java.io.*;

public class SimpleDNS
{
  public static void main(String[] args)
  {
    try
    {
      InetAddress[] address =InetAddress.getAllByName("www.sina.com");
  for(int i=0;i< address.length;i++)
  {  
  System.out.println(address.getHostAddress());
  }      
    }
    catch (Exception e)
    {
        System.out.println(e.toString());
        System.exit(1);
    }
  }
}


? 运行结果:
C:\java>java SimpleDNS www.s
218.30.13.35
218.30.13.36
218.30.13.37
218.30.13.38
218.30.13.39
218.30.13.40
218.30.13.41
218.30.13.42
218.30.13.43
218.30.13.44
218.30.13.45
218.30.13.46
218.30.13.47
218.30.13.48
218.30.13.49
218.30.13.34

三、 IP地址转换成10进制整数
经常要判断一个ip是国内的还是国外的,有了下面程序再结合数据库查询...

/**
@描述:java中实现IP地址的各种表现形式之间的转换
@作者:慈勤强
@Email : cqq1978@gmail.com http://blog.csdn.net/cqq
*/


class IP
{
  private static long ipToLong(String strIP)
  //将127.0.0.1 形式的IP地址转换成10进制整数,这里没有进行任何错误处理
  {
      int j=0;
      int i=0;
      long [] ip=new long[4];
      int position1=strIP.indexOf(".");
      int position2=strIP.indexOf(".",position1+1);
      int position3=strIP.indexOf(".",position2+1);
      ip[0]=Long.parseLong(strIP.substring(0,position1));
      ip[1]=Long.parseLong(strIP.substring(position1+1,position2));
      ip[2]=Long.parseLong(strIP.substring(position2+1,position3));
      ip[3]=Long.parseLong(strIP.substring(position3+1));
      return (ip[0]<<24)+(ip[1]<<16)+(ip[2]<<8)+ip[3];
  }

  private static String longToIP(long longIP)
  //将10进制整数形式转换成127.0.0.1形式的IP地址
  {
      StringBuffer sb=new StringBuffer("");
      sb.append(String.valueOf(longIP>>>24));//直接右移24位
      sb.append(".");       //将高8位置0,然后右移16位
      sb.append(String.valueOf((longIP&0x00FFFFFF)>>>16));
      sb.append(".");
      sb.append(String.valueOf((longIP&0x0000FFFF)>>>8));
      sb.append(".");
      sb.append(String.valueOf(longIP&0x000000FF));
      sb.append(".");
      return sb.toString();
  }

  public static void main(String[] args)
  {
      System.out.println("IP地址的各种表现形式:\r\n");
      System.out.print("32位二进制形式:");
      System.out.println(Long.toBinaryString(3526601384L));
      System.out.print("十进制形式:");
      System.out.println(ipToLong("210.51.170.168"));
      System.out.print("普通形式:");
      System.out.println(longToIP(3526601384L));
  }
}

程序运行结果:

IP地址的各种表现形式:

32位二进制形式:11001010011100000110000010100011
十进制形式:3396362403
普通形式:202.112.96.163.

分享到:
评论

相关推荐

    ip转为十进制整数

    然而,在某些应用场景下,比如数据库存储、数据处理或网络通信协议中,可能需要将IP地址转换成一个整数值来方便处理。本文将详细探讨如何将IPv4地址转换为十进制整数以及反向转换的过程。 #### IP地址转十进制整数 ...

    IP地址转换成整数,整数转换成IP地址

    IP地址转换成整数,整数转换成IP地址,16进制转换成IP地址,IP地址转换成16进制

    IP地址十进制转换

    IP地址十进制转换主要是将一个点分十进制的IP地址转换为一个十进制的整数,反之亦然。例如,192.168.0.1这个IP地址在十进制表示下就是3232235521。这个过程涉及到对每个八位段的二进制表示进行转换,然后将它们相加...

    一个简单的Python脚本,它包含了将点分十进制IP地址转换为32位整数(通常称为IPv4地址的整数表示)和进行简单的IP地址校

    一个简单的Python脚本,它包含了将点分十进制IP地址转换为32位整数(通常称为IPv4地址的整数表示)和进行简单的IP地址校一个简单的Python脚本,它包含了将点分十进制IP地址转换为32位整数(通常称为IPv4地址的整数...

    java ip地址段计算

    输入IP地址及掩码(如24),计算出地址范围 1、计算出掩码指定的IP地址个数 2、分割IP地址 3、将10.0.0.0形式的ip地址转换成10进制整数 4、将10进制整数形式转换成127.0.0.1形式的IP地址

    C# 进制转换 2进制、8进制、10进制、16进制 .doc

    2. Convert.ToString(int value, int toBase):将整数形式的数字转换为字符串形式,其中 toBase 参数为将要转换成的进制格式,可以是 2、8、10 或 16。 使用这两种方法,可以轻松地实现各种进制之间的转换。例如,...

    二进制IP转十进制IP的C++代码

    本篇将详细讲解如何用C++编写一个程序,将32位二进制IP地址转换为点分十进制IP地址。 首先,我们要理解IP地址的结构。IP地址由32位二进制组成,分为4个8位段,每个段对应一个十进制数字,这4个数字之间用点号(.)...

    报文传输中的进制转换(十六进制、二进制)

    例如,网络协议如TCP/IP在传输数据时,IP地址、端口号等信息都是用二进制表示的。开发者需要将这些十进制数值转换为二进制,以符合网络通信的要求。同时,十六进制常用于表示内存地址、颜色代码或编程中的变量值,...

    IP十进制点分转换为二进制

    将十进制点分表示的IP地址转换为二进制形式,在网络通信、子网划分等方面具有重要意义。本文将详细解释这一转换过程,并通过一个C++程序实例来展示具体实现方法。 #### 基本概念 1. **IPv4地址**:IPv4地址是由四...

    javascript将16进制的字符串转换为10进制整数hex

    在JavaScript中,16进制字符串转换为10进制整数是一个常见的需求,尤其是在处理颜色代码、网络IP地址或二进制数据时。这里我们分析`hex2int`函数,它实现了这个转换过程。 首先,`hex2int`函数接受一个16进制的字符...

    linux shell 实现IP和数字的转换

    在这个脚本中,我们首先将IP地址按点分割成四部分(八位字节),然后对每个字节执行乘法和累加操作,计算出十进制整数。 反过来,要将十进制整数转换回点分十进制IP,我们可以用类似的方法,但需要将整数逐步除以...

    十六进制时间转化器和IP转化器

    在IT领域,尤其是在数据处理和网络通信中,十六进制(Hexadecimal)和IP地址的转换是常见的操作。本文将详细讲解"十六进制时间转化器和IP转化器"的相关知识点,以及它在实际工作中的应用。 首先,我们来探讨十六...

    多功能进制 ASCII码 IP地址 转换器

    标题 "多功能进制 ASCII码 IP地址 转换器" 提供了我们即将讨论的核心工具,它是一个软件程序,能够处理多种数值表示形式之间的转换,包括进制、ASCII编码以及IP地址。这样的转换器在编程、网络管理和数据处理等领域...

    Ip地址转换器

    首先,我们来看IP地址转换成整数的过程。一个IPv4地址由4个0到255的十进制数字组成,每个数字对应一个8位的二进制位段。这四个位段组合起来就是一个32位的二进制数。转换的步骤包括: 1. 分割IP地址:将输入的IP...

    易语言IP地址转换

    易语言IP地址转换源码,IP地址转换,查询IP到地址,二分法确定位置,取地区文本,IP文本转整数值,十六进制到十进制,倒转十六进制文本,IP文本补位,十六进制文本到IP地址,十六进制单项补位,获得数据库数据数量,获得数据库...

    Java进制转换实现

    例如,在网络编程中,IP地址通常以点分十进制形式表示,但在底层实际上是用32位二进制表示的;又如,计算机内存中的数据是以二进制形式存储的,而我们在程序中读取时可能需要将其转换为易于理解的十进制或十六进制...

    点分十进制IP转换为长整型

    点分十进制IP和长整型转换,直接把IP地址转换为整型,存数据库增加效率。

    PHP中将ip地址转成十进制数的两种实用方法

    在PHP编程中,有时我们需要将IPv4地址转换为十进制整数,这在处理网络数据、IP计算或存储时非常有用。以下是两种常见的方法来完成这个任务: ### 方法一:逐字节相乘累加法 这种方法是通过将IP地址的每个八位字节...

    c++实现的将ip地址转换成四个int型,便于处理

    总结来说,C++中将IP地址转换为四个int型主要是通过字符串操作和整数转换实现的。了解这些基本的编程技巧,能够帮助我们在处理IP地址时更加得心应手。同时,随着技术的发展,如C++11及更高版本提供的新特性,如`std:...

    java实现ip地址与十进制数相互转换

    首先,让我们看看如何将IP地址转换为十进制数。这个过程涉及到将IP地址的每个部分(每个部分是0到255的整数)转换为二进制,然后将这些二进制数组合成一个32位的整数。例如,IP地址"10.0.3.193"转换为二进制是: - ...

Global site tag (gtag.js) - Google Analytics