【IP地址の乾坤大挪移】C语言实现“IP地址/数字”互转
生活随笔
收集整理的這篇文章主要介紹了
【IP地址の乾坤大挪移】C语言实现“IP地址/数字”互转
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
環境:
vs2008可以運行。
demo:
簡單演示下ip地址與整數互轉。
注意ip順序問題。保證一致即可。
code:
#include <stdio.h>//demo //ip 10.67.83.11 // 172184331void main() {///* 待轉化的整數IP */unsigned int IP1_Addr,IP2_Addr;IP1_Addr = 172184331;IP2_Addr = 172184331;// 法1:提取IP:位移操作 int addr1_1 = IP1_Addr >> 24; // 提取第一部分IP地址IP1_Addr = IP1_Addr << 8;int addr1_2 = IP1_Addr >> 24; // 提取第二部分IP地址 IP1_Addr = IP1_Addr << 8;int addr1_3 = IP1_Addr >> 24; // 提取第三部分IP地址 IP1_Addr = IP1_Addr << 8;int addr1_4 = IP1_Addr >> 24; // 提取第四部分IP地址 // 打印IP地址:結果為"10.67.83.11" printf("IP地址(位移操作)為:%d.%d.%d.%d\n", addr1_1, addr1_2, addr1_3, addr1_4);// 法2:提取IP:求余取整 int addr2_4 = IP2_Addr % 256; // 提取第一部分IP地址IP2_Addr = IP2_Addr / 256; int addr2_3 = IP2_Addr % 256; // 提取第一部分IP地址IP2_Addr = IP2_Addr / 256; int addr2_2 = IP2_Addr % 256; // 提取第一部分IP地址IP2_Addr = IP2_Addr / 256; int addr2_1 = IP2_Addr % 256; // 提取第一部分IP地址// 打印IP地址:結果為"10.67.83.11" printf("IP地址(求余取整)為:%d.%d.%d.%d\n", addr2_1, addr2_2, addr2_3, addr2_4);///********************** 字符串IP轉整數就比較簡單了 ***************************///待轉換字符串IP //char * IP_Addr = "10.67.83.11";//提取4部分整數:提取方法很多這里省略int addr_1 = 10;int addr_2 = 67;int addr_3 = 83;int addr_4 = 11;unsigned long IP_Int = (addr_1 * 256 * 256 *256) +(addr_2 * 256 * 256) + (addr_3 * 256) + addr_4;printf("整數IP地址為:%ld\n", IP_Int);}分享:
另分享一個在線轉ip地址與整數的。臨時可以用用。
http://www.bejson.com/convert/ip2int/
支持:
歡迎關注公眾號??誰吃薄荷糖,主要記錄日常中覺得有意思的事情以及分享開發實踐,保持深度和專注度,喜歡的點擊右下角的再看哦。
總結
以上是生活随笔為你收集整理的【IP地址の乾坤大挪移】C语言实现“IP地址/数字”互转的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于产品经理如何准备面试,我有三点想法
- 下一篇: 以需求管理为例,产品经理如何打造自己的需