CIDR Calculator
Given an IP address in CIDR notation, compute all subnet parameters: network address, broadcast, host range, subnet mask, wildcard mask, host counts, IP class, and binary representation.
Input
- - A CIDR notation string in the format
A.B.C.D/N (e.g. 192.168.1.0/24)
Output
A structured result with these fields:
- - CIDR Notation (normalized)
- Network Address
- Broadcast Address
- Subnet Mask
- Wildcard Mask
- First Usable Host
- Last Usable Host
- Total Hosts (2^(32-N))
- Usable Hosts
- IP Class (A / B / C / D Multicast / E Reserved)
- Network Type (Private / Public)
- Binary Representation of the IP
Instructions
- 1. Validate the input. It must match
\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\/\d{1,2}. Each octet must be 0–255. Prefix must be 0–32. - Compute values using standard subnet math:
-
maskNum = (0xFFFFFFFF << (32 - prefix)) >>> 0
-
wildcardNum = ~maskNum >>> 0
-
networkNum = (ipNum & maskNum) >>> 0
-
broadcastNum = (networkNum | wildcardNum) >>> 0
-
totalHosts = 2^(32 - prefix)
-
usableHosts: if prefix == 32 → 1; if prefix == 31 → 2; else
totalHosts - 2
- 3. Determine IP class from first octet:
- 1–126 → A; 128–191 → B; 192–223 → C; 224–239 → D (Multicast); 240–255 → E (Reserved); 127 → Loopback
- 4. Determine private vs public:
- Private: 10.x.x.x, 172.16–31.x.x, 192.168.x.x, 127.x.x.x (loopback)
- 5. Compute binary as four 8-bit groups joined by dots.
- Present results in a clear labeled format.
Quick CIDR reference
| CIDR | Subnet Mask | Total Hosts |
|---|
| /8 | 255.0.0.0 | 16,777,216 |
| /16 |
255.255.0.0 | 65,536 |
| /20 | 255.255.240.0 | 4,096 |
| /22 | 255.255.252.0 | 1,024 |
| /24 | 255.255.255.0 | 256 |
| /28 | 255.255.255.240 | 16 |
| /30 | 255.255.255.252 | 4 |
| /32 | 255.255.255.255 | 1 |
Options
- - Input is always a single CIDR string; no additional options.
Examples
Input: INLINECODE10
Output:
CODEBLOCK0
Input: INLINECODE11
Output:
CODEBLOCK1
Error Handling
- - If the input is not valid CIDR notation, say so and provide the expected format (
A.B.C.D/N). - If an octet exceeds 255 or the prefix exceeds 32, explain the validation error.
- If the user provides an IP without a prefix (e.g.
192.168.1.1), ask for the prefix length or assume /32.
CIDR 计算器
给定一个CIDR格式的IP地址,计算所有子网参数:网络地址、广播地址、主机范围、子网掩码、通配符掩码、主机数量、IP类别和二进制表示。
输入
- - 格式为 A.B.C.D/N 的CIDR表示字符串(例如 192.168.1.0/24)
输出
包含以下字段的结构化结果:
- - CIDR表示(标准化)
- 网络地址
- 广播地址
- 子网掩码
- 通配符掩码
- 第一个可用主机
- 最后一个可用主机
- 总主机数(2^(32-N))
- 可用主机数
- IP类别(A / B / C / D 多播 / E 保留)
- 网络类型(私有 / 公有)
- IP的二进制表示
操作说明
- 1. 验证输入。必须匹配 \d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\/\d{1,2}。每个八位组必须在0–255范围内。前缀必须在0–32范围内。
- 使用标准子网计算方式计算数值:
- maskNum = (0xFFFFFFFF << (32 - prefix)) >>> 0
- wildcardNum = ~maskNum >>> 0
- networkNum = (ipNum & maskNum) >>> 0
- broadcastNum = (networkNum | wildcardNum) >>> 0
- totalHosts = 2^(32 - prefix)
- usableHosts:如果 prefix == 32 → 1;如果 prefix == 31 → 2;否则 totalHosts - 2
- 3. 根据第一个八位组确定IP类别:
- 1–126 → A;128–191 → B;192–223 → C;224–239 → D(多播);240–255 → E(保留);127 → 回环
- 4. 确定私有还是公有:
- 私有:10.x.x.x,172.16–31.x.x,192.168.x.x,127.x.x.x(回环)
- 5. 计算二进制,以点分隔的四个8位组表示。
- 以清晰的标签格式呈现结果。
快速CIDR参考
| CIDR | 子网掩码 | 总主机数 |
|---|
| /8 | 255.0.0.0 | 16,777,216 |
| /16 |
255.255.0.0 | 65,536 |
| /20 | 255.255.240.0 | 4,096 |
| /22 | 255.255.252.0 | 1,024 |
| /24 | 255.255.255.0 | 256 |
| /28 | 255.255.255.240 | 16 |
| /30 | 255.255.255.252 | 4 |
| /32 | 255.255.255.255 | 1 |
选项
示例
输入: 192.168.1.0/24
输出:
CIDR表示: 192.168.1.0/24
网络地址: 192.168.1.0
广播地址: 192.168.1.255
子网掩码: 255.255.255.0
通配符掩码: 0.0.0.255
第一个主机: 192.168.1.1
最后一个主机: 192.168.1.254
总主机数: 256
可用主机数: 254
IP类别: C
网络类型: 私有
二进制: 11000000.10101000.00000001.00000000
输入: 10.0.0.0/8
输出:
CIDR表示: 10.0.0.0/8
网络地址: 10.0.0.0
广播地址: 10.255.255.255
子网掩码: 255.0.0.0
通配符掩码: 0.255.255.255
第一个主机: 10.0.0.1
最后一个主机: 10.255.255.254
总主机数: 16,777,216
可用主机数: 16,777,214
IP类别: A
网络类型: 私有
二进制: 00001010.00000000.00000000.00000000
错误处理
- - 如果输入不是有效的CIDR表示,请说明并提供期望的格式(A.B.C.D/N)。
- 如果某个八位组超过255或前缀超过32,请解释验证错误。
- 如果用户提供没有前缀的IP(例如 192.168.1.1),请询问前缀长度或假定为/32。