十进制转二进制转换器
这个十进制转二进制转换器使用反复除法将十进制(基数 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
- 42 ÷ 2 = 21,余数 0
- 21 ÷ 2 = 10,余数 1
- 10 ÷ 2 = 5,余数 0
- 5 ÷ 2 = 2,余数 1
- 2 ÷ 2 = 1,余数 0
- 1 ÷ 2 = 0,余数 1
从下往上读取余数:101010
因此,十进制 42 = 二进制 101010。
示例:将 255 转换为二进制
十进制输入:255
- 255 ÷ 2 = 127,余数 1
- 127 ÷ 2 = 63,余数 1
- 63 ÷ 2 = 31,余数 1
- 31 ÷ 2 = 15,余数 1
- 15 ÷ 2 = 7,余数 1
- 7 ÷ 2 = 3,余数 1
- 3 ÷ 2 = 1,余数 1
- 1 ÷ 2 = 0,余数 1
从下往上读取余数:11111111
十进制 255 = 二进制 11111111(8 位全为 1),这是单个无符号字节的最大值。
通用公式
反复执行:商 = floor(N / 2),余数 = N mod 2,然后令 N = 商,直到 N = 0。
二进制结果即为余数序列从下往上的排列(逆序读取)。
补码详解
补码是计算机表示有符号整数(正数和负数)的标准方法。最高有效位(MSB)作为符号位:0 表示正数,1 表示负数,其余位编码数值大小。
如何求补码
以 8 位补码表示 -5:
- 从 5 的二进制开始:00000101
- 逐位取反:11111010
- 加 1:11111011
结果:-5 的 8 位补码 = 11111011
补码范围
| 位数 | 有符号范围 | 无符号范围 |
|---|---|---|
| 8 | -128 至 127 | 0 至 255 |
| 16 | -32,768 至 32,767 | 0 至 65,535 |
| 32 | -2,147,483,648 至 2,147,483,647 | 0 至 4,294,967,295 |
补码的关键优势在于:加法和减法对正数和负数都使用同一套硬件电路,从而简化了处理器设计。这也是几乎所有现代处理器都采用补码的原因。
常见转换对照表(0–31)
以下是前 32 个十进制数及其对应的二进制、十六进制和八进制值:
| 十进制 | 二进制 | 十六进制 | 八进制 |
|---|---|---|---|
| 0 | 00000000 | 00 | 0 |
| 1 | 00000001 | 01 | 1 |
| 2 | 00000010 | 02 | 2 |
| 3 | 00000011 | 03 | 3 |
| 4 | 00000100 | 04 | 4 |
| 5 | 00000101 | 05 | 5 |
| 6 | 00000110 | 06 | 6 |
| 7 | 00000111 | 07 | 7 |
| 8 | 00001000 | 08 | 10 |
| 9 | 00001001 | 09 | 11 |
| 10 | 00001010 | 0A | 12 |
| 11 | 00001011 | 0B | 13 |
| 12 | 00001100 | 0C | 14 |
| 13 | 00001101 | 0D | 15 |
| 14 | 00001110 | 0E | 16 |
| 15 | 00001111 | 0F | 17 |
| 16 | 00010000 | 10 | 20 |
| 17 | 00010001 | 11 | 21 |
| 18 | 00010010 | 12 | 22 |
| 19 | 00010011 | 13 | 23 |
| 20 | 00010100 | 14 | 24 |
| 21 | 00010101 | 15 | 25 |
| 22 | 00010110 | 16 | 26 |
| 23 | 00010111 | 17 | 27 |
| 24 | 00011000 | 18 | 30 |
| 25 | 00011001 | 19 | 31 |
| 26 | 00011010 | 1A | 32 |
| 27 | 00011011 | 1B | 33 |
| 28 | 00011100 | 1C | 34 |
| 29 | 00011101 | 1D | 35 |
| 30 | 00011110 | 1E | 36 |
| 31 | 00011111 | 1F | 37 |
应用场景
- 计算机与编程 — 理解整数、字符和数据在内存中的二进制存储方式。位运算、位掩码和标志位操作都需要掌握十进制与二进制的转换。
- 网络 — IP 地址和子网掩码都是 32 位二进制数。在点分十进制表示(如 192.168.1.0)与二进制之间互相转换,是子网划分和网络设计的基础。
- 数字电路 — 逻辑门、触发器、寄存器和总线架构均以二进制信号工作。工程师经常需要在十进制规格与二进制表示之间互相转换。
- 数据存储 — 文件大小、内存地址和磁盘扇区均以 2 的幂次计量。理解二进制有助于解释为什么"1 GB"存储器实际容量是 1,073,741,824 字节(2^30)。
- 密码学 — 加密算法、哈希函数和密钥生成均基于二进制数据运算。理解二进制表示是密码分析的基础。
- 教育 — 学习十进制与二进制的转换,是理解计算机工作原理的基础,也是计算机科学课程的核心内容。
相关工具
- 二进制转十进制转换器 — 逐步展示按位权展开,将二进制数转换为十进制
- 十六进制转二进制转换器 — 以 4 位分组方式将十六进制转换为二进制
- 二进制翻译器 — 在二进制代码与文本(ASCII/Unicode)之间互相转换
- 十六进制转十进制转换器 — 将十六进制值转换为十进制数
- 十六进制转文本转换器 — 将十六进制字节值解码为可读文本