首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用c++将ipaddress/掩码转换为CIDR?

如何使用c++将ipaddress/掩码转换为CIDR?
EN

Stack Overflow用户
提问于 2013-12-13 17:46:29
回答 2查看 9.1K关注 0票数 4

我有一个ipaddress/掩码列表,需要转换为CIDR符号。

例如,需要将12.174.36.240/24转换为12.174.36.0/24或类似于http://www.subnet-calculator.com/cidr.php所做的事情

这怎么能做到呢?

PS:掩码值并不总是24。

EN

Stack Overflow用户

回答已采纳

发布于 2013-12-13 18:12:15

为了引导您朝着正确的方向前进,请考虑IPv4地址是什么(32位整数)。现在,考虑什么是掩码(在按位操作中使用的位字段)。

在大端系统上取地址127.0.0.1。用十六进制来说,那是0x7f000001。24位掩码是0xffffff00 ( 1位24位,0位8位,总共32位).按位的地址和掩码0x7f000001 & 0xffffff00 = 0x7f000000是CIDR格式。

我让您决定如何最好地解析地址,将IPv4地址转换为其整数形式(和back),并从路由前缀掩码创建一个位掩码,不过我将告诉您,至少有一些用于地址操作的标准函数。

票数 2
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20572801

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档