通过MCP连接 →

输入计算

数学公式

Show calculation steps (1)
  1. Binary Representation

    Binary Representation: IP地址转二进制计算器

    Each octet is converted to an 8-bit binary string, separated by dots.

广告

结果

二进制(点分)
11000000.10101000.00000001.00000001
每个八位组8位
连续二进制 11000000101010000000000100000001
十进制整数 3,232,235,777
十六进制 C0.A8.01.01

什么是IP地址转二进制计算器?

192.168.1.1 这样的IPv4地址,本质上就是一个32位的数字,只是为了方便人们阅读,才写成用点分隔的四个十进制数(即"八位组"或octet)。这个计算器可以把这四个八位组转换成二进制表示、转换成一个32位的十进制整数,以及转换成十六进制——这三种形式正是网络工程师、程序员和学生最常互相切换使用的格式。

使用方法

依次输入四个八位组,每个都是0到255之间的整数。点击计算,你就能立即得到点分二进制形式(每个八位组8位)、连续的32位二进制字符串、对应的十进制整数,以及点分十六进制形式。

计算公式详解

每个八位组都会转换为二进制,并在左侧补零,凑足正好8位。因此1会变成 00000001,255则变成 11111111。把四个八位组拼接起来,就得到一个32位的数值。十进制整数则是按位置给每个八位组加权后求和得出的:

$$\text{Decimal} = \text{Octet 1} \cdot 2^{24} + \text{Octet 2} \cdot 2^{16} + \text{Octet 3} \cdot 2^{8} + \text{Octet 4}$$

由于每个八位组占8位,分别向左移动24位、16位和8位,正好把它们放到32位字中正确的位置上。

IPv4 地址拆分为四个 8 位八位组,组成 32 位二进制值
四个八位组中的每一个都变成 8 个二进制位,共同组成一个 32 位地址。

实例演算

192.168.1.1 为例。转成二进制:192 = 11000000,168 = 10101000,1 = 00000001,1 = 00000001,拼起来就是 11000000.10101000.00000001.00000001。十进制整数为

$$192 \times 16{,}777{,}216 + 168 \times 65{,}536 + 1 \times 256 + 1 = 3{,}221{,}225{,}472 + 11{,}010{,}048 + 256 + 1 = \mathbf{3{,}232{,}235{,}777}$$

十六进制则是:C0.A8.01.01

将二进制转换为十进制八位组的 8 位位值表
从 128 到 1 的位值展示了 8 位如何映射为一个十进制八位组。

常见问题

为什么每个八位组必须在0到255之间?因为每个八位组是8位,而8位能表示的值正好从0到255(\(2^{8} = 256\)个数值)。

那个十进制整数有什么用?数据库、IP地理定位表和路由代码经常把IP存成一个整数,因为整数比较和范围判断的速度,远快于解析点分格式的字符串。

这个工具支持IPv6吗?不支持。IPv6地址是128位,写成多组十六进制。本工具只处理IPv4(32位)地址。

最后更新: