Skip to main content
🟢 Beginner

二进制到十进制转换器

立即将二进制数转换为十进制数,并将十进制数转换为二进制数。最多支持 64 位数字。这个免费转换器可提供即时、准确的结果。

二进制到十进制转换的工作原理

二进制(基数2)只使用0和1两位数字。每个位置代表一个2的幂,从右到左逐渐增加。要将二进制转换为十进制,需要将每个二进制位乘以其位置值并求和。

示例:将1011₂转换为十进制

十进制到二进制,重复除以2并记录余数,从下到上。11 ÷ 2 = 5 R1,5 ÷ 2 = 2 R1,2 ÷ 2 = 1 R0,1 ÷ 2 = 0 R1 → 读取余数向上:1011

这种位置表示系统与十进制(基数10)相同,只是基数不同。在十进制(基数10)中,数字347表示3 × 10² + 4 × 10¹ + 7 × 10⁰ = 300 + 40 + 7。二进制使用相同的原理,只是使用2的幂而不是10的幂。

二进制位值参考

8位字节是计算机存储的基本单位。以下是8位数字(0-255)的完整位值表:

位位置2的幂十进制值
位7(MSB)2⁷128
位62⁶64
位52⁵32
位42⁴16
位38
位24
位12
位0(LSB)2⁰1

一个字节可以表示任何值,从0(00000000₂)到255(11111111₂)。两个字节(16位)覆盖0-65,535。四个字节(32位)覆盖0-4,294,967,295。

扩展的2的幂表

对于程序员和计算机科学家来说,了解2的幂至2⁶⁴至关重要,以了解内存地址、数据类型和系统限制:

十进制值意义
2⁰1最小单位(1位)
2⁸2561字节范围(0-255)
2¹⁰1,0241 KiB(kibibyte)
2¹⁶65,53616位范围;TCP端口限制
2²⁰1,048,5761 MiB(mebibyte)
2²⁴16,777,21624位颜色(16.7M颜色)
2³⁰1,073,741,8241 GiB(gibibyte)
2³²4,294,967,29632位地址空间;IPv4最大值
2⁴⁰1,099,511,627,7761 TiB(tebibyte)
2⁶⁴18,446,744,073,709,551,61664位地址空间;现代CPU

注意二进制前缀(KiB、MiB、GiB — 2的幂)和SI前缀(KB、MB、GB — 10的幂)之间的区别。1 GB = 1,000,000,000 个字节;1 GiB = 1,073,741,824 个字节。这 7% 的差异解释了为什么一个“500 GB”的硬盘在您的操作系统中显示为 ~465 GiB(通常使用二进制单位进行内部操作)。

计算机中的常见二进制值

以下二进制值在编程、网络和系统管理中频繁出现:

二进制十进制十六进制上下文
0000000000x00空字节,黑色颜色通道
00001010100x0A换行符(LF)- Unix换行符
00001101130x0D回车符(CR)- Windows换行符部分
00100000320x20空格字符(ASCII)
01000001650x41ASCII 'A'
01100001970x61ASCII 'a'(与'A'不同,位5不同)
011111111270x7F本地主机IP(最后一个八位数);DEL字符
100000001280x80扩展ASCII / 符号位
110000001920xC0类C网络前缀(192.x.x.x)
111111112550xFF广播;最大字节;白色在RGB中

二进制、十六进制和八进制比较

程序员根据上下文使用不同的数字系统。以下是相同值在每个系统中的表示:

十进制二进制十六进制八进制用途
000000x00o0零 / 空
701110x70o7Unix 权限(rwx)
1010100xA0o12
1511110xF0o17最大 4 位(nibble)
16100000x100o20
12711111110x7F0o177最大有符号 8 位
255111111110xFF0o377最大无符号 8 位
5111111111110x1FF0o777Unix 权限 rwxrwxrwx
102311111111110x3FF0o1777最大 10 位(ADC)

十六进制是最常用的二进制简写,因为每个十六进制数字都对应 4 位二进制位 —— 使转换变得简单。八进制将 3 位映射到一个数字,主要用于 Unix 文件权限(例如,chmod 755 = 111 101 101 在二进制中 = rwxr-xr-x)。

二进制有符号数(两的补数)

计算机使用 两的补数 来表示负数 — IEEE 和大多数现代处理器都遵循的标准。在 8 位的两的补数系统中:

二进制无符号十进制有符号(两的补数)
0000000000
000000011+1
01111111127+127(最大正数)
10000000128−128(最小负数)
10000001129−127
11111110254−2
11111111255−1

要将数字转换为两的补数:将所有位反转,然后加 1。例如,+5 = 00000101 → 反转 → 11111010 → 加 1 → 11111011 = −5。

常见整数类型的范围:

类型位数无符号范围有符号范围
字节 / uint880 到 255−128 到 +127
短整数 / int16160 到 65,535−32,768 到 +32,767
整数 / int32320 到 4,294,967,295−2,147,483,648 到 +2,147,483,647
长整数 / int64640 到 18.4 × 10¹⁸−9.2 × 10¹⁸ 到 +9.2 × 10¹⁸

二进制在日常技术中

二进制是所有现代计算的基础,因为晶体管有两个稳定的状态(开/关,1/0)。关键应用:

了解二进制可以直接帮助编程(位运算、标志)、网络(IP/子网计算)和与低级硬件打交道。

二进制算术:加法和减法

二进制算术遵循与十进制相同的规则,但只有两个数字。加法表格如下:

AB进位
0000
0110
1010
1101

示例:1011 + 0110

从右到左:1+0=1,1+1=10(写入 0 进位 1),0+1+1=10(写入 0 进位 1),1+0+1=10(写入 0 进位 1)。结果:10001(十进制:11+6=17 ✓)

在硬件中,减法通常通过将被减数的补数加到数值上来实现。要计算 A-B,处理器计算 A + (−B),其中 −B 是 B 的补数。这使得单个加数电路可以处理加法和减法。

位运算

编程语言提供位运算符,用于操作单个位。这些对于低级编程、嵌入式系统和性能优化至关重要:

操作符号示例(8 位)结果用途
&10110101 & 1111000010110000掩码位、提取字段
|10110101 | 0000111110111111设置位、组合标志
异或^10110101 ^ 1111111101001010翻转位、简单加密
~~1011010101001010位反转
左移<<00000101 << 200010100乘以 2ⁿ
右移>>00010100 >> 200000101除以 2ⁿ

位移运算比乘法和除法在许多处理器中都要快。 x << 1 等同于 x × 2,而 x >> 1 等同于 x ÷ 2(整数除法)。游戏引擎和嵌入式固件广泛使用这些操作以提高性能。

二进制十进制(BCD)

二进制十进制将每个十进制数字表示为其自己的 4 位二进制模式。与纯二进制不同,BCD 保留了十进制结构:

十进制纯二进制BCD
000000000
501010101
910011001
1010100001 0000
421010100100 0010
9911000111001 1001
255111111110010 0101 0101

BCD 比纯二进制(10 个 4 位组合中使用)更占用空间,但它简化了十进制显示 — 每个 nibble 都直接映射到显示的数字。BCD 用于数字钟、计算器、金融系统(在这些系统中,精确的十进制表示很重要)和老式主机数据库(COBOL、IBM EBCDIC)。