什么是IP地址转二进制计算器?
像 192.168.1.1 这样的IPv4地址,本质上就是一个32位的数字,只是为了方便人们阅读,才写成用点分隔的四个十进制数(即"八位组"或octet)。这个计算器可以把这四个八位组转换成二进制表示、转换成一个32位的十进制整数,以及转换成十六进制——这三种形式正是网络工程师、程序员和学生最常互相切换使用的格式。
使用方法
依次输入四个八位组,每个都是0到255之间的整数。点击计算,你就能立即得到点分二进制形式(每个八位组8位)、连续的32位二进制字符串、对应的十进制整数,以及点分十六进制形式。
计算公式详解
每个八位组都会转换为二进制,并在左侧补零,凑足正好8位。因此1会变成 00000001,255则变成 11111111。把四个八位组拼接起来,就得到一个32位的数值。十进制整数则是按位置给每个八位组加权后求和得出的:
由于每个八位组占8位,分别向左移动24位、16位和8位,正好把它们放到32位字中正确的位置上。
实例演算
以 192.168.1.1 为例。转成二进制:192 = 11000000,168 = 10101000,1 = 00000001,1 = 00000001,拼起来就是 11000000.10101000.00000001.00000001。十进制整数为
十六进制则是:C0.A8.01.01。
常见问题
为什么每个八位组必须在0到255之间?因为每个八位组是8位,而8位能表示的值正好从0到255(\(2^{8} = 256\)个数值)。
那个十进制整数有什么用?数据库、IP地理定位表和路由代码经常把IP存成一个整数,因为整数比较和范围判断的速度,远快于解析点分格式的字符串。
这个工具支持IPv6吗?不支持。IPv6地址是128位,写成多组十六进制。本工具只处理IPv4(32位)地址。