ip

来源:互联网 发布:网站幻灯片js代码 编辑:程序博客网 时间:2024/05/18 03:37
package ip;public class Ip{/** * 将127.0.0.1形式的ip地址转换成10进制整数,这里没有进行任何错误处理 *  * @author ZengWenfeng * @date 2016.07.04 * @param strip * @return */private static long ipToLong(String strip){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];// ip1*256*256*256+ip2*256*256+ip3*256+ip4}/** * 将10进制整数形式转换成127.0.0.1形式的ip地址,在命令提示符下输入ping3396362403l *  * @author ZengWenfeng * @date 2016.07.04 * @param longip * @return */private static String longToIp(long longip){StringBuffer sb = new StringBuffer("");sb.append(String.valueOf(longip >>> 24));// 直接右移24位sb.append(".");sb.append(String.valueOf((longip & 0x00ffffff) >>> 16));// 将高8位置0,然后右移16位sb.append(".");sb.append(String.valueOf((longip & 0x0000ffff) >>> 8));sb.append(".");sb.append(String.valueOf(longip & 0x000000ff));//sb.append(".");return sb.toString();}/** * 仅仅测试 *  * @author ZengWenfeng * @date 2016.07.04 * @param args */public static void main(String[] args){System.out.println("ip地址的各种表现形式:rn");System.out.print("32位二进制形式:");System.out.println(Long.toBinaryString(3396362403l));System.out.print("十进制形式:");System.out.println(ipToLong("202.112.96.163"));System.out.print("普通形式:");System.out.println(longToIp(3396362403l));}}


可能真的记不清楚了。或许就是没掌握。我看到这里想起,印象里IP分类,按高位0  10  100 分为A B C D类。



后来百度了一下:

http://blog.csdn.net/panjunnn/article/details/5653388/