直接上代码(不要直接拷贝,中间少了一行啊):
-
#include <string>
-
#include <iostream>
-
using namespace std;
-
int shu[4]={0};
-
int IPtoINT(string s){
-
int i,a=0,c=0,p=0;
-
for(i=0;i<s.length();i++)
-
{
-
if(s[i]!='.')
-
{
-
a=a*10+(s[i]-'0');
-
}else{
-
if(a>=0&&a<=255)
-
{
-
shu[p++]=a;
-
c++;
-
}else
-
{//cout<<"NO"<<endl;
-
return 0;}
-
-
}
-
}
-
if(c!=3)
-
{//cout<<"NO"<<endl;
-
return 0;}
-
else
-
{if(a>=0&&a<=255)
-
{
-
shu[p++]=a;
-
}else
-
{//cout<<"NO"<<endl;
-
return 0;}
-
-
}
-
//cout<<"YES"<<endl;
-
return 1;
-
}
-
void INTtoIP(long s)
-
{
-
shu[0]=s&255;
-
shu[1]=(s&(255*256))/256;
-
shu[2]=(s&(255*256*256))/(256*256);
-
shu[3]=(s&(255*256*256*256))/(256*256*256);
-
}
-
void main(){
-
string ips;
-
long ipint,stoint=0;
-
int i;
-
cin>>ips;
-
cin>>ipint;
-
if(IPtoINT(ips))
-
{
-
for(i=0;i<4;i++)
-
stoint=stoint*256+shu[i];
-
cout<<stoint<<endl;
-
}
-
INTtoIP(ipint);
-
if(shu[0]<256&&shu[1]<256&&shu[2]<256&&shu[3]<256)
-
{
-
cout<<shu[3]<<'.'<<shu[2]<<'.'<<shu[1]<<'.'<<shu[0]<<endl;
-
}
-
}
算法:整数与ip地址转换的更多相关文章
-
python整数与IP地址转换
python整数与IP地址转换 [转] 我们有时会将一个整数与IP地址进行互换,用python代码实现很简单将一个整数如2000000,变为一个IP地址的方式 >>> import ...
-
python整数与IP地址转换 [转]
我们有时会将一个整数与IP地址进行互换,用python代码实现很简单将一个整数如2000000,变为一个IP地址的方式 >>> import socket >>> ...
-
整数与IP地址间的转换
描述 原理:ip地址的每段可以看成是一个0-255的整数,把每段拆分成一个二进制形式组合起来,然后把这个二进制数转变成一个长整数.举例:一个ip地址为10.0.3.193每段数字 ...
-
IP地址转换成Long型数字的算法
在应用程序开发中,涉及到IP地址的存储,大部分开发人员都将其存为String(或文本类型).能否将固定格式为m.n.x.y的IP地址转换成 Long型的数字呢?答案是肯定的.在数据库层面,可以直接将结 ...
-
ip地址转换
通常,我们用点分十进制字符串表示ipv4地址(192.168.1.1),用十六进制字符串表示ipv6地址(fe80::20c:29ff:fee9:4bcc). ipv4转换函数 #include &l ...
-
华为上机:IP地址转换
IP地址转换 描述: IP地址的长度为32,即有2^32-1个地址.IP地址一般采用点分十进制表示法,例如"192.168.1.1".IP地址也可以直接用一个32位的整数进行表示. ...
-
套接字编程相关函数(1:套接字地址结构、字节序转换、IP地址转换)
1. 套接字地址结构 1.1 IPv4套接字地址结构 IPv4套接字地址结构通常也称为“网际套接字地址结构”,它以sockaddr_in命名,定义在<netinet/in.h>头文件中.下 ...
-
【网络编程一】主机字节序与网络字节序以及ip地址转换函数
在计算机设计之初,对内存中数据的处理也有不同的方式,(低位数据存储在低位地址处或者高位数据存储在低位地址处),然而,在通信的过程中(ISO/OSI模型和TCP/IP四层模型中),数据被一步步封装(然后 ...
-
[转]字符型IP地址转换成数字IP的SQL函数
使用SQL函数可以实现许多的功能,下面为您介绍的是字符型IP地址转换成数字IP的SQL函数示例,供您参考,希望对您学习SQL函数能够有所帮助. /**//*--调用示例 sele ...
随机推荐
-
SQLServer如何添加try catch
在.net中我们经常用到try catch.不过在sqlserver中我们也可以使用try catch捕捉错误,在这里把语法记录下来和大家分享一下, --构建存储过程CREATE PROCEDURE ...
-
图片在保存的时候===》出现这个异常:GDI+ 中发生一般性错误
异常处理汇总-后端系列 http://www.cnblogs.com/dunitian/p/4523006.html 一般这种情况都是没有权限,比如目录没有创建就写入,或者没有写入文件的权限 我的是目 ...
-
oracle linux 启动
[oracle@dg1 ~]$ sqlplus /nolog SQL*Plus: Release 10.2.0.1.0 - Production on Mon May 11 12:51:24 2009 ...
-
HDOJ2010水仙花数
水仙花数 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submis ...
-
[译]Stairway to Integration Services Level 11 - 日志配置
介绍 在前一个章节我们讨论了事先行为,分享了如何操作默认的行为和时间冒泡,并且介绍了父子模型. 本文中,我们会配置SSIS日志. 进行简单及高级日志配置,存储,和检索的实验.并且生成自定义日志信息. ...
-
java开发之提高java和mysql代码性能和质量
0.if嵌套的层数最好不要超过3层 点击(此处)折叠或打开 import java.util.HashMap; import java.util.Map; public class Qiantao { ...
-
[ERROR] InnoDB: Cannot allocate memory for the buffer pool
:: mysqld_safe Starting mysqld daemon with databases from /data/mysqldb -- :: [Note] /usr/local/mysq ...
-
Centos安装配置Tomcat,并部署web应用
一.安装JDK并配置环境变量 1.检查和删除系统预装jdk //如果操作系统不是最小安装,会默认安装openjdk#rpm -qa | grep java //删除系统预装jdk,可以一条命令直接删除 ...
-
Python Excel 多sheet 多条数据 自定义写入
pip install xlwt python excel 数据写入操作,处理网站数据导出以及不是太多数据的爬虫存储, 用处蛮多的*. (150+++++++++++++++++++++++++++ ...
-
C++解题报告 : 迭代加深搜索之 ZOJ 1937 Addition Chains
此题不难,主要思路便是IDDFS(迭代加深搜索),关键在于优化. 一个IDDFS的简单介绍,没有了解的同学可以看看: https://www.cnblogs.com/MisakaMKT/article ...