任何人都知道MySql INET_NTOA()如何将整数值转换回IP地址格式?我想知道如何在内部执行计算以将IP转换为其原始的互联网标准点分十进制格式。
答案 0 :(得分:1)
答案 1 :(得分:0)
在Binary中写入16777343:
1 0000 0000 0000 0000 0111 1111
从LSB开始分组位(以8为一组形成一个字节):
[1] [0000 0000] [0000 0000] [0111 1111]
现在用小端形式写入十进制(最低字节优先):
127.0.0.1
这可以通过以下方式验证:
struct sockaddr_in antelope;
inet_aton(" 127.0.0.1",& antelope.sin_addr); //将IP存储在羚羊中
的printf("%LLD \ n",antelope.sin_addr.s_addr); //打印16777343
的printf("%S \ n",INET_NTOA(antelope.sin_addr)); //打印127.0.0.1
我希望它有所帮助。