直接上代码(不要直接拷贝,中间少了一行啊):

  1.  
    #include <string>
  2.  
    #include <iostream>
  3.  
    using namespace std;
  4.  
    int shu[4]={0};
  5.  
    int IPtoINT(string s){
  6.  
    int i,a=0,c=0,p=0;
  7.  
    for(i=0;i<s.length();i++)
  8.  
    {
  9.  
    if(s[i]!='.')
  10.  
    {
  11.  
    a=a*10+(s[i]-'0');
  12.  
    }else{
  13.  
    if(a>=0&&a<=255)
  14.  
    {
  15.  
    shu[p++]=a;
  16.  
    c++;
  17.  
    }else
  18.  
    {//cout<<"NO"<<endl;
  19.  
    return 0;}
  20.  
     
  21.  
    }
  22.  
    }
  23.  
    if(c!=3)
  24.  
    {//cout<<"NO"<<endl;
  25.  
    return 0;}
  26.  
    else
  27.  
    {if(a>=0&&a<=255)
  28.  
    {
  29.  
    shu[p++]=a;
  30.  
    }else
  31.  
    {//cout<<"NO"<<endl;
  32.  
    return 0;}
  33.  
     
  34.  
    }
  35.  
    //cout<<"YES"<<endl;
  36.  
    return 1;
  37.  
    }
  38.  
    void INTtoIP(long s)
  39.  
    {
  40.  
    shu[0]=s&255;
  41.  
    shu[1]=(s&(255*256))/256;
  42.  
    shu[2]=(s&(255*256*256))/(256*256);
  43.  
    shu[3]=(s&(255*256*256*256))/(256*256*256);
  44.  
    }
  45.  
    void main(){
  46.  
    string ips;
  47.  
    long ipint,stoint=0;
  48.  
    int i;
  49.  
    cin>>ips;
  50.  
    cin>>ipint;
  51.  
    if(IPtoINT(ips))
  52.  
    {
  53.  
    for(i=0;i<4;i++)
  54.  
    stoint=stoint*256+shu[i];
  55.  
    cout<<stoint<<endl;
  56.  
    }
  57.  
    INTtoIP(ipint);
  58.  
    if(shu[0]<256&&shu[1]<256&&shu[2]<256&&shu[3]<256)
  59.  
    {
  60.  
    cout<<shu[3]<<'.'<<shu[2]<<'.'<<shu[1]<<'.'<<shu[0]<<endl;
  61.  
    }
  62.  
    }

算法:整数与ip地址转换的更多相关文章

  1. python整数与IP地址转换

    python整数与IP地址转换 [转] 我们有时会将一个整数与IP地址进行互换,用python代码实现很简单将一个整数如2000000,变为一个IP地址的方式 >>> import ...

  2. python整数与IP地址转换 [转]

    我们有时会将一个整数与IP地址进行互换,用python代码实现很简单将一个整数如2000000,变为一个IP地址的方式 >>> import socket >>> ...

  3. 整数与IP地址间的转换

    描述 原理:ip地址的每段可以看成是一个0-255的整数,把每段拆分成一个二进制形式组合起来,然后把这个二进制数转变成一个长整数.举例:一个ip地址为10.0.3.193每段数字            ...

  4. IP地址转换成Long型数字的算法

    在应用程序开发中,涉及到IP地址的存储,大部分开发人员都将其存为String(或文本类型).能否将固定格式为m.n.x.y的IP地址转换成 Long型的数字呢?答案是肯定的.在数据库层面,可以直接将结 ...

  5. ip地址转换

    通常,我们用点分十进制字符串表示ipv4地址(192.168.1.1),用十六进制字符串表示ipv6地址(fe80::20c:29ff:fee9:4bcc). ipv4转换函数 #include &l ...

  6. 华为上机:IP地址转换

    IP地址转换 描述: IP地址的长度为32,即有2^32-1个地址.IP地址一般采用点分十进制表示法,例如"192.168.1.1".IP地址也可以直接用一个32位的整数进行表示. ...

  7. 套接字编程相关函数(1:套接字地址结构、字节序转换、IP地址转换)

    1. 套接字地址结构 1.1 IPv4套接字地址结构 IPv4套接字地址结构通常也称为“网际套接字地址结构”,它以sockaddr_in命名,定义在<netinet/in.h>头文件中.下 ...

  8. 【网络编程一】主机字节序与网络字节序以及ip地址转换函数

    在计算机设计之初,对内存中数据的处理也有不同的方式,(低位数据存储在低位地址处或者高位数据存储在低位地址处),然而,在通信的过程中(ISO/OSI模型和TCP/IP四层模型中),数据被一步步封装(然后 ...

  9. [转]字符型IP地址转换成数字IP的SQL函数

    使用SQL函数可以实现许多的功能,下面为您介绍的是字符型IP地址转换成数字IP的SQL函数示例,供您参考,希望对您学习SQL函数能够有所帮助.      /**//*--调用示例       sele ...

随机推荐

  1. xdoj--1077: (循环节长度)

    1077: 循环节长度 时间限制: 1 Sec  内存限制: 128 MB提交: 103  解决: 37[提交][状态][讨论版] 题目描述 数一有很多的有理数,然而有的是有限小数,如1/2=0.5, ...

  2. SQL-表-003

    注:红色代表关键字,绿色代表解释说明,蓝色代表重点: 什么是数据表? 数据表是数据库中最重要的组成部分,可以将数据表分解成字段(列)和记录(行): 数据表的增加:约束同时创建 create table ...

  3. 06 Listener,Filter,BeanUtils

    Listener 监听器,监听某一个事件的发生. 状态的改变. 内部机制其实就是接口回调. 接口回调  需求:A在执行循环,当循环到5的时候, 通知B.事先先把一个对象传递给 A , 当A 执行到5的 ...

  4. Vim+Ctags+Cscope安装

    对比了下,感觉还是Vim比较专业. 一:使用说明: ‘/’查找忽略大小写,比如需要查找“book”,当输入/b的时候会自动找到第一个以"b"开头的单词 实现C程序的缩减 查询中自由 ...

  5. 【JVM】java对象

    一.对象内存布局 对象在内存中存储可分为3块区域:对象头,实例数据,对齐填充 1.对象头 对象头包含两部分内容. 第一部分:存储对象自身的运行时数据,哈希吗(hashCode),GC分代年龄,锁状态标 ...

  6. linux之数据备份

    第一种方法:tar备份 [root@bogon ~]# cat bp/linux.txt no centos [root@bogon ~]# tar cvf bp.tar bp //打包bp目录 bp ...

  7. Fedora Redhat Centos 有什么区别和关系?

    Fedora Redhat Centos 有什么区别和关系? 经常看到有人讨论服务器的操作系统,比如 Readhat 和 Centos,还有 Ubuntu Server. 可能 Ubuntu Serv ...

  8. openstack--6--控制节点和计算节点安装配置neutron

    Neutron相关介绍 早期的时候是没有neutron,早期所使用的网络的nova-network,经过版本改变才有个neutron. quantum是因为商标和别的公司重名了,又改成的Neutron ...

  9. mysql 的 help 命令:每个命令,都有相应的反斜杠(\)加一个字母或字符的简写

    mysql> help For information about MySQL products and services, visit: http://www.mysql.com/ For d ...

  10. taro 组件的外部样式和全局样式

    自定义组件对应的样式文件,只对该组件内的节点生效. 编写组件样式时,需要注意以下几点: 组件和引用组件的页面不能使用 id 选择器(#a).属性选择器([a])和标签名选择器,请改用 class 选择 ...