ip地址互转十进制数字(函数)
生活随笔
收集整理的這篇文章主要介紹了
ip地址互转十进制数字(函数)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
原IP:192.168.32.1
轉(zhuǎn)換為16進(jìn)制:192->c0 168->a8 32->20 1->01
16進(jìn)制結(jié)果:c0 a8 20 01
將16進(jìn)制結(jié)果組合轉(zhuǎn)換為10進(jìn)制
10進(jìn)制結(jié)果:3232243713
原IP ping
現(xiàn)IP轉(zhuǎn)10進(jìn)制ping
?
切記:得到的十進(jìn)制數(shù)與 inet_addr(127.0.0.1) 函數(shù)得到的數(shù)據(jù)不一樣,原因 inet_addr 函數(shù)得到的16進(jìn)制做了大小端導(dǎo)致。
?
C/C++函數(shù)(IP地址轉(zhuǎn)十進(jìn)制)
#include <stdio.h>unsigned int utils_inet_addr(unsigned char one, unsigned char two, unsigned char three, unsigned char four) {unsigned long ip = 0;ip |= (one << 24);ip |= (two << 16);ip |= (three << 8);ip |= (four << 0);return HTONL(ip); }int main() {unsigned int a = utils_inet_addr(127,0,0,1);printf ("%d\n", a);return 0; }C/C++函數(shù)(十進(jìn)制轉(zhuǎn)IP地址)
#include <stdio.h> #include <stdint.h>typedef uint32_t ipv4_t;void ipv4_to_str(char *addr_str, ipv4_t ipv4_addr) {sprintf(addr_str, "%d.%d.%d.%d",ipv4_addr & 0xFF,(ipv4_addr >> 8) & 0xFF,(ipv4_addr >> 16) & 0xFF,(ipv4_addr >> 24) & 0xFF); // (ipv4_addr >> 24) & 0xFF, // (ipv4_addr >> 16) & 0xFF, // (ipv4_addr >> 8) & 0xFF, // ipv4_addr & 0xFF); }int main() {char addr_str[256] = {0};ipv4_to_str(addr_str, 1711384768);printf("%s\n", addr_str);return 0; }?
總結(jié)
以上是生活随笔為你收集整理的ip地址互转十进制数字(函数)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 工控蜜罐Conpot部署和入门及高级演变
- 下一篇: Linux下9个有用的touch命令示例