- 比如 A.B.C.D的换成整数就是:
- (((A*256)+B)*256+C)*256+D
- 整数转IP:
- 1409823698 = 540833D2 H => 以字节分解: 54H 08H 33H D2H => 转回10进制: 84 08 51 210
bool is_Invalid = false;
int IPtoINT(string s){
int result = 0;
int shu[4]={0};
int i,a=0,c=0,p=0;
for(i=0;i<s.length();i++)
{
if(s[i]!='.' && s[i]!='\0')
{
a=a*10+(s[i]-'0');
}
else{
if(a>=0&&a<=255)
{
shu[p++]=a;
a = 0;
c++;
}
else
{
is_Invalid = true;
return 0;
}
}
}
if(c!=3)
{
is_Invalid = true;
return 0;
}
for(i=0;i<4;i++)
result = result*256 + shu[i];
return result;
}
string INTtoIP(long s)
{
int shu[4];
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);
return to_string(shu[0]) + '.' + to_string(shu[1]) +'.' + to_string(shu[2]) +'.'+ to_string(shu[3]);
}