华为机试-整数与IP地址之间的转换
2017-03-07 20:26
218 查看
题目描述
原理:ip地址的每段可以看成是一个0-255的整数,把每段拆分成一个二进制形式组合起来,然后把这个二进制数转变成
一个长整数。
举例:一个ip地址为10.0.3.193
每段数字 相对应的二进制数
10 00001010
0 00000000
3 00000011
193 11000001
组合起来即为:00001010 00000000 00000011 11000001,转换为10进制数就是:167773121,即该IP地址转换后的数字就是它了。
的每段可以看成是一个0-255的整数,需要对IP地址进行校验
输入描述:
输入
1 输入IP地址
2 输入10进制型的IP地址
输出描述:
输出
1 输出转换成10进制的IP地址
2 输出转换后的IP地址
输入例子:
10.0.3.193
167773121
输出例子:
167773121
10.3.3.193
代码:
原理:ip地址的每段可以看成是一个0-255的整数,把每段拆分成一个二进制形式组合起来,然后把这个二进制数转变成
一个长整数。
举例:一个ip地址为10.0.3.193
每段数字 相对应的二进制数
10 00001010
0 00000000
3 00000011
193 11000001
组合起来即为:00001010 00000000 00000011 11000001,转换为10进制数就是:167773121,即该IP地址转换后的数字就是它了。
的每段可以看成是一个0-255的整数,需要对IP地址进行校验
输入描述:
输入
1 输入IP地址
2 输入10进制型的IP地址
输出描述:
输出
1 输出转换成10进制的IP地址
2 输出转换后的IP地址
输入例子:
10.0.3.193
167773121
输出例子:
167773121
10.3.3.193
代码:
import java.util.Scanner; public class IpToInteger { public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc=new Scanner(System.in); while(sc.hasNext()) { String Ip=sc.next(); String inter=sc.next(); ipToInteger(Ip); IntegerToIp(inter); } } public static void ipToInteger(String Ip) { String[] ips=Ip.split("\\."); int sum=0; long inter=0; if(ips.length!=4) { } else { for(int i=0;i<4;i++) { sum=0; for(int j=0;j<ips[i].length();j++) { char ch=ips[i].charAt(j); if('0'<=ch&&ch<='9') { sum=10*sum+ch-'0'; } } inter=(inter<<8)+sum; } } System.out.println(inter); } public static void IntegerToIp(String sinter) { StringBuffer ip=new StringBuffer(); long inter=Long.parseLong(sinter); int ips[]=new int[4]; for(int i=0;i<4;i++) { int sum=(int) (inter&0377); inter=inter>>8; ips[3-i]=sum; } for(int i=0;i<4;i++) { if(i!=3) System.out.print(ips[i]+"."); else System.out.println(ips[i]); } } }
相关文章推荐
- 华为OJ:ip地址与整数之间的转换
- 华为oj中级 整数与IP地址之间的转换
- C# IP地址与整数之间转换的具体方法
- 华为OJ——整数与IP地址间的转换
- IP地址与整数之间的转换实现代码(asp.net)
- C# IP地址与整数之间的转换
- 华为OJ——整数与IP地址间的转换
- ip地址与整数之间的转换
- C# IP地址和整数之间的转换,IP地址和数字ip地址的转换
- C# IP地址与整数之间的转换
- 华为机试在线训练-牛客网(21)整数与IP地址间的转换
- [华为OJ--C++]030-整数与IP地址间的转换
- 整数与ip地址之间的转换
- ip地址与整数之间的转换
- 华为机试——整数与IP地址间的转换
- IP地址在“点分十进制”和“二进制整数”之间转换
- IP地址与整数之间的转换
- IP地址与整数之间的转换
- IP地址与整数之间的转换
- 【转】IP地址与整数之间的转换