gpt4 book ai didi

c - inet_netof() 函数返回奇怪的值

转载 作者:太空宇宙 更新时间:2023-11-04 01:57:29 24 4
gpt4 key购买 nike

        addr4 = &((struct sockaddr_in *)ifa->ifa_netmask)->sin_addr;
internal_addr = inet_netof(*addr4);
printf("IPv4 MASK %08x \n",internal_addr);

我有上面的代码。它将 IPv4 MASK 打印为

IPv4 MASK 00ffffff 

我假设这代表 255.255.255.0。这是正确的假设吗?我想将其转换为 24(CIDR 表示法中的整数)

最佳答案

根据您将其转换为掩码位数(CIDR 表示法)的愿望,只需计算掩码中的一位数即可。

只需遍历 32 位无符号整数 (0x00ffffff),检查它是否大于 0,如果大于 0,则在答案中加 1,然后将无符号整数除以2(或右移 1 位)。

关于c - inet_netof() 函数返回奇怪的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32173700/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com