32位数值转化为8位IP地址
Posted wangjian1226
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了32位数值转化为8位IP地址相关的知识,希望对你有一定的参考价值。
#define u8 unsigned char
#define u32 unsigned int
#define SWAP32(ipValue) ((u32)(((ipValue) & 0xff) << 24) | (((ipValue) & 0xff00) << 8) | (((ipValue) >> 8) & 0xff00) | (((ipValue) >> 24) & 0xff) );
int main()
{
u8 ip_addr[4] = {0};
unsigned long src = 0x93d4860a;
src = SWAP32(src)
ip_addr[0] = (u8) ((src >> 24) & 0xff);
ip_addr[1] = (u8 ) ((src >> 16) & 0xff);
ip_addr[2] = (u8 ) ((src >> 8) & 0xff);
ip_addr[3] = (u8 ) (src & 0xff);
printf("src = %d.%d.%d.%d
",ip_addr[0],ip_addr[1],ip_addr[2],ip_addr[3]);
unsigned long dst = 0x3ba41d73;
dst = SWAP32(dst)
ip_addr[0] = (u8 ) ((dst >> 24) & 0xff);
ip_addr[1] = (u8 ) ((dst >> 16) & 0xff);
ip_addr[2] = (u8 ) ((dst >> 8) & 0xff);
ip_addr[3] = (u8 ) (dst & 0xff);
printf("dst = %d.%d.%d.%d
",ip_addr[0],ip_addr[1],ip_addr[2],ip_addr[3]);
}
以上是关于32位数值转化为8位IP地址的主要内容,如果未能解决你的问题,请参考以下文章