十进制转二进制转换器

这个十进制转二进制转换器使用反复除法将十进制(基数 10)数转换为二进制(基数 2)表示。输入任意十进制数,即可查看对应的二进制结果及逐步分解说明,同时提供八进制和十六进制转换,支持 8 位、16 位、32 位固定宽度格式及负数的补码表示。

十进制转二进制转换器

通过逐步除法在十进制与二进制数制之间转换

常见问题

如何将十进制转换为二进制?

将十进制数转换为二进制时,反复将数字除以2并记录每步的余数。继续直到商为0。然后从下到上(从最后到第一个)读取余数,得到二进制数。例如,转换13:13/2=6余1,6/2=3余0,3/2=1余1,1/2=0余1。从下到上读取得1101。

什么是二进制?

二进制是一种以2为基数的数字系统,只使用两个数字:0和1。每个数字位置代表2的幂次,就像十进制(基数10)中每个位置代表10的幂次一样。二进制是数字计算机的原生语言,因为电子电路有两种状态:开(1)和关(0)。计算机中的所有数据——文本、图像、音频、视频——最终都以二进制形式表示。

什么是补码?

补码是计算机用来以二进制表示负整数的标准方法。求一个数的补码:(1)用二进制写出正值,(2)反转所有位(将0变为1,将1变为0),(3)将结果加1。例如,8位补码表示-5:从00000101开始,反转得11111010,加1得11111011。最高有效位作为符号位(0=正,1=负)。

8位二进制数的范围是什么?

对于无符号8位二进制数,范围是0到255(00000000到11111111)。对于使用补码的有符号8位数,范围是-128到127(10000000到01111111)。最大无符号值为2⁸-1=255,而有符号范围使用一位作为符号,给出-2⁷到2⁷-1。

如何用二进制表示负数?

现代计算机使用补码表示负数。最高有效位(最左边)是符号位:0表示正数,1表示负数。要取一个数的负数,反转所有位并加1。例如,8位二进制中-1是11111111,-128是10000000,-42是11010110。这种系统允许加法和减法使用相同的硬件电路。

为什么计算机使用二进制?

计算机使用二进制,因为数字电子电路有两种稳定状态:高电压(1)和低电压(0)。这种两态系统极其可靠、快速,且易于用晶体管实现。虽然人类因为有10根手指而觉得十进制(基数10)直观,但计算机天然地使用二进制(基数2)。像八进制(8)和十六进制(16)这样的更高基数用作简写,因为它们与二进制位组整洁对应。

8位、16位和32位有什么区别?

位宽决定了用多少个二进制数字来表示一个数。8位(1字节)可以表示256个值(无符号0-255,有符号-128到127)。16位(2字节)可以表示65,536个值(无符号0-65535)。32位(4字节)可以表示超过40亿个值(无符号0到4,294,967,295)。更大的位宽允许更大的数字,但占用更多内存。

如何在Python或JavaScript中将十进制转换为二进制?

在Python中,使用bin(42)得到"0b101010",或format(42, "b")得到不带前缀的"101010"。在JavaScript中,使用(42).toString(2)得到"101010"。反向转换:Python使用int("101010", 2)=42,JavaScript使用parseInt("101010", 2)=42。两种语言都支持带0b前缀的二进制字面量:0b101010等于42。

常见十进制数的二进制是什么?

常见转换:0=0、1=1、2=10、5=101、10=1010、16=10000、32=100000、42=101010、64=1000000、100=1100100、128=10000000、255=11111111、256=100000000、1000=1111101000、1024=10000000000。2的幂次始终只有一个"1"位后面跟着零。

二进制与十六进制有什么关系?

十六进制(基数16)是二进制的紧凑表示。每个十六进制数字精确映射到4个二进制位:0=0000、1=0001、...、9=1001、A=1010、B=1011、C=1100、D=1101、E=1110、F=1111。所以十六进制FF等于二进制11111111(十进制255),0x2A等于二进制00101010(十进制42)。这种4位对齐使十六进制成为表示字节值的理想选择。

关于十进制转二进制转换器

十进制转二进制转换器将十进制(基数 10)数字转换为二进制(基数 2)表示,这是所有数字计算机使用的基础数制。计算机处理的每一条数据——文本、图像、音频、视频和指令——最终都以二进制数字(bit)序列的形式存储和操作,每个 bit 只能是 0 或 1。

本工具可将任意非负整数即时转换为二进制,并以逐步除以 2 的方式展示转换过程。同时还显示八进制(基数 8)和十六进制(基数 16)结果,支持固定位宽格式(8 位、16 位、32 位),以及用补码表示负数。

如何将十进制转换为二进制

将十进制整数转换为二进制的标准方法是反复除以 2 算法。将数字反复除以 2,每步记录余数,直到商为 0。将余数从下往上读取(最后一个余数在最前),即得到二进制结果。

示例:将 42 转换为二进制

十进制输入:42

  1. 42 ÷ 2 = 21,余数 0
  2. 21 ÷ 2 = 10,余数 1
  3. 10 ÷ 2 = 5,余数 0
  4. 5 ÷ 2 = 2,余数 1
  5. 2 ÷ 2 = 1,余数 0
  6. 1 ÷ 2 = 0,余数 1

从下往上读取余数:101010

因此,十进制 42 = 二进制 101010。

示例:将 255 转换为二进制

十进制输入:255

  1. 255 ÷ 2 = 127,余数 1
  2. 127 ÷ 2 = 63,余数 1
  3. 63 ÷ 2 = 31,余数 1
  4. 31 ÷ 2 = 15,余数 1
  5. 15 ÷ 2 = 7,余数 1
  6. 7 ÷ 2 = 3,余数 1
  7. 3 ÷ 2 = 1,余数 1
  8. 1 ÷ 2 = 0,余数 1

从下往上读取余数:11111111

十进制 255 = 二进制 11111111(8 位全为 1),这是单个无符号字节的最大值。

通用公式

反复执行:商 = floor(N / 2),余数 = N mod 2,然后令 N = 商,直到 N = 0。

二进制结果即为余数序列从下往上的排列(逆序读取)。

补码详解

补码是计算机表示有符号整数(正数和负数)的标准方法。最高有效位(MSB)作为符号位:0 表示正数,1 表示负数,其余位编码数值大小。

如何求补码

以 8 位补码表示 -5:

  1. 从 5 的二进制开始:00000101
  2. 逐位取反:11111010
  3. 加 1:11111011

结果:-5 的 8 位补码 = 11111011

补码范围

位数有符号范围无符号范围
8-128 至 1270 至 255
16-32,768 至 32,7670 至 65,535
32-2,147,483,648 至 2,147,483,6470 至 4,294,967,295

补码的关键优势在于:加法和减法对正数和负数都使用同一套硬件电路,从而简化了处理器设计。这也是几乎所有现代处理器都采用补码的原因。

常见转换对照表(0–31)

以下是前 32 个十进制数及其对应的二进制、十六进制和八进制值:

十进制二进制十六进制八进制
000000000000
100000001011
200000010022
300000011033
400000100044
500000101055
600000110066
700000111077
8000010000810
9000010010911
10000010100A12
11000010110B13
12000011000C14
13000011010D15
14000011100E16
15000011110F17
16000100001020
17000100011121
18000100101222
19000100111323
20000101001424
21000101011525
22000101101626
23000101111727
24000110001830
25000110011931
26000110101A32
27000110111B33
28000111001C34
29000111011D35
30000111101E36
31000111111F37

应用场景

  • 计算机与编程 — 理解整数、字符和数据在内存中的二进制存储方式。位运算、位掩码和标志位操作都需要掌握十进制与二进制的转换。
  • 网络 — IP 地址和子网掩码都是 32 位二进制数。在点分十进制表示(如 192.168.1.0)与二进制之间互相转换,是子网划分和网络设计的基础。
  • 数字电路 — 逻辑门、触发器、寄存器和总线架构均以二进制信号工作。工程师经常需要在十进制规格与二进制表示之间互相转换。
  • 数据存储 — 文件大小、内存地址和磁盘扇区均以 2 的幂次计量。理解二进制有助于解释为什么"1 GB"存储器实际容量是 1,073,741,824 字节(2^30)。
  • 密码学 — 加密算法、哈希函数和密钥生成均基于二进制数据运算。理解二进制表示是密码分析的基础。
  • 教育 — 学习十进制与二进制的转换,是理解计算机工作原理的基础,也是计算机科学课程的核心内容。

相关工具

相关工具