分享

通过Excel函数将IP地址转十分位

 拨丝留其产 2016-04-26

简介


IP地址一般展示形如'115.238.54.226',当将其存入数据库时,会自动将这一串字符串转换成十进制后保存。因此当我们要在数据库中插入一条IP地址数据时,就需要将IP地址首先转化成十进制后,再将该十进制的值插入到对应的数据库中。


方法(以115.238.54.226为例,并设其存与单元格A1中)


1. 分别取出IP地址中的4个整数:

  • 115:LEFT(A1,FIND('.',A1)-1);

  • 238:MID(A1,5,3);

  • 54:MID(A1,9,FIND('.',A1,9)-FIND('.',A1,5)-1);

  • 226:RIGHT(A1,LEN(A1)-FIND('.',A1,10));

2. 分别计算对应的十进制值:

  • 115:LEFT(A1,FIND('.',A1)-1) * 16777216;

  • 238:MID(A1,5,3) * 65536;

  • 54:MID(A1,9,FIND('.',A1,9)-FIND('.',A1,5)-1) * 256;

  • 226:RIGHT(A1,LEN(A1)-FIND('.',A1,10)) * 1;

3. 求和汇总:

115.238.54.226 = LEFT(A1,FIND('.',A1)-1) * 16777216 + MID(A1,5,3) * 65536 + MID(A1,9,FIND('.',A1,9)-FIND('.',A1,5)-1) * 256 + RIGHT(A1,LEN(A1)-FIND('.',A1,10)) * 1 [^注1]


[^注1]32位IP地址115.238.54.226转化成二进制为01110011 11101110 00110110 11100010,再转成十进制可以理解成115 * 2^24 + 238 * 2^16 + 54 * 2^8 + 226 * 2^0 = 1944991458


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多