Short answer: type the block, read the table. Every number is exact: IPv6 counts use BigInt, so a /64 reports 18,446,744,073,709,551,616 addresses rather than 1.8446744e19.
The arithmetic, in one line
A block is an address and a mask: network = address AND mask, andbroadcast = network OR NOT mask (IPv4 only). Everything else follows from counting, which is why the host count is 2^(bits − prefix) minus two when the block is big enough to have a broadcast address.
Common prefix lengths
- /8 — 16,777,216 addresses; the old class-A shape.
- /16 — 65,536 addresses; a large private network.
- /24 — 256 addresses, 254 usable; the default LAN.
- /31 — 2 addresses, both usable on a point-to-point link.
- /32 — one address; a host route, not a network.
- /64 — one IPv6 LAN; SLAAC requires exactly this size.
Need to lay the results out for a change ticket or README? TheMarkdown table generator turns them into a table without hand-aligning pipes.