整数转IP地址

将一个整数,比如1567898765转换为xxx.xxx.xxx.xxx的IP地址的形式,

以下是源代码

union IPNode
{
  unsigned int addr;
  struct
  {
    unsigned char s4,s3,s2,s1;
  };
};

void PrintIP(unsigned int x)
{
  IPNode a;
  a.addr = x;
  printf("%d.%d.%d.%d\n",a.s1,a.s2,a.s3,a.s4);
}
void main()
{
  unsigned int ip = 1567898765;// "192.11.23.22"
  PrintIP(ip);
}

  这个例子很巧妙的利用了联合体共享内存的特点。

时间: 2024-10-13 11:37:57

整数转IP地址的相关文章

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

我们有时会将一个整数与IP地址进行互换,用python代码实现很简单将一个整数如2000000,变为一个IP地址的方式 >>> import socket >>> import struct >>> int_ip = 123456789 >>> ip = socket.inet_ntoa(struct.pack('I',socket.htonl(int_ip))) #int to ip address '7.91.205.21' &g

整数与IP地址间的转换

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

Python—IP地址与整数之间的转换

1. 将整数转换成IP: 思路:将IP地址转换成无符号32位的二进制,再8位进行分割,每8位转换成十进制即可. #!usr/bin/python 2 #encoding=utf-8 3 #1. 将整数转换成32位无符号二进制 4 def intToIp(num): 5 s = [] 6 g = [] 7 h = [] 8 for i in range(32): 9 a = num%2 10 s.insert(0,a) 11 num = num/2 12 print s 13 #2. 每8位进行分

[VC] IP地址的字符串形式与整数互换

IPV6出现之后,在windows平台,最好是用随IPV6而出的新函数实现IP地址的字符串形式与整数互换.这些新函数是InetPton和InetNtop. 1  InetPton() 作用:该函数实现字符串到整数的转换. 原型:INT InetPton(INT Family, PCWST pszAddrString,  PVOID pAddrBuf); 参数:family参数既可以是AF_INET(ipv4)也可以是AF_INET6(ipv6).如果,以不被支持的地址族作为family参数,这个

js中ip地址与整数的相互转换

转载地址 //IP转成整型function _ip2int(ip) {    var num = 0;    ip = ip.split(".");    num = Number(ip[0]) * 256 * 256 * 256 + Number(ip[1]) * 256 * 256 + Number(ip[2]) * 256 + Number(ip[3]);    num = num >>> 0;    return num;} //整型解析为IP地址functi

php中获取用户登陆的IP地址以及常规处理

本文为原创,转载请注明!  在我们开发多站点业务网站中,经常需要获取客户端的ip地址来给用户推荐其所在地址的信息的业务,用php获取客户端的ip地址,我们一般用到的PHP内置方法是$_SERVER['REMOTE_ADDR']. 但是这个函数只能获取访问者本地连接中设置的IP,局域网网关出口的IP地址,如果访问者使用代理服务器,将不获取代理服务器的IP,而是获取访问者网关的真实IP.如果将这个函数应用到限IP访问的网页中,别人即使通过限IP访问段中的代理服务器,也不能访问该页面. 所以我们一般为

js判断ip地址,子网掩码,网关的逻辑性检查

因为要做静态地址配置的js校验,找了好多资料发现网上都是关于ip,mask的有效性检查,没有ip,submask,gateway的逻辑性判断,自己写下代码供需要的人参考. 普及下网关地址知识: 就是进行与运算1与1得1,1与0为0,0与0为0.首先把ip和子网掩码展开 10.70.64.223 00001010 .01000110.01000000.11011111 255.255.255.0 111111111.11111111.11111111.00000000 网段就是 00001010

IP地址、子网掩码、网络号、主机号、网络地址、主机地址

对于192.168.0.0到192.168.0.255这个网络来说,以下说法中正确的是____. 正确答案: D   你的答案: D (正确) 网段内可用来作为主机IP的范围是:192.168.0.0到192.168.0.255 Network IP是192.168.0.255 Broadcast IP是192.168.0.0 网段内的主机可以通过网卡对网卡传递数据 192.168.0.1和192.168.0.2的主机需要使用Router传递数据包 是class B等级 添加笔记 求解答(4)

另类网址加密方法 - IP地址进制转换

今天在看子网掩码计算器.本人算数一直是个硬伤,脑子不是十分灵活那种. 但是发现.IP十进制计算.当时没看懂.十进制计算是个什么鬼. 拿百度举例.(因为我们51cto的域名ping后解析出来的地址是无法直接访问的.尴尬) 无论是 www.baidu.com 还是  61.135.169.121 访问后的结果是一样的. 但是还一个访问办法. 无论是  http://1032300921 还是    1032300921 结果也是一样的. 那么问题来了.这个数字是怎么来的. 计算过程如下. 将点分十进