Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql INET_NTOA的工作_Mysql_Database_Ip Address - Fatal编程技术网

Mysql INET_NTOA的工作

Mysql INET_NTOA的工作,mysql,database,ip-address,Mysql,Database,Ip Address,有人知道MySql INET_NTOA()是如何将整数值转换回IP地址格式的吗?我想知道如何在内部执行计算,以将IP转换为其原始的internet标准点十进制格式。它使用网络(大端)将整数分解为四个字节: 167773449=>A0 00 05 09 然后将这些字节连接在一起,中间有一个点: 10.0.5.9 用二进制编写16777343: 10000 0111111 从LSB开始分组位(以8为一组形成一个字节): [1] [0000 0000][0000 0000][0111111] 现在以

有人知道MySql INET_NTOA()是如何将整数值转换回IP地址格式的吗?我想知道如何在内部执行计算,以将IP转换为其原始的internet标准点十进制格式。

它使用网络(大端)将整数分解为四个字节:

167773449=>A0 00 05 09
然后将这些字节连接在一起,中间有一个点:

10.0.5.9

用二进制编写16777343:
10000 0111111
从LSB开始分组位(以8为一组形成一个字节):
[1] [0000 0000][0000 0000][0111111]
现在以小尾数形式(先是最低有效字节)写入十进制:
127.0.0.1

这可以通过使用来验证:

羚羊的结构sockaddr_
inet_aton(“127.0.0.1”和antelope.sin_addr);//将IP存储在羚羊中
printf(“%lld\n”,羚羊。sin_addr。s_addr)//打印16777343张
printf(“%s\n”,inet_ntoa(羚羊。sin_addr))//打印127.0.0.1


希望有帮助。

您是如何将167773449转换为A000509的?你能解释一下手工计算吗?@VishnuY我抓起我的卡西欧,把它转换成:)典型的十进制->十六进制转换。但我得到的对应值是A000509。@VishnuY这不是一回事吗?唯一的区别是分组:)