二进制转换器

二进制转换器:十进制、二进制、八进制、十六进制互转

输入一个数,选择它是几进制,立即得到它的二进制、十进制、八进制和十六进制写法,同时显示需要多少位、按整字节补零后的二进制,以及除二取余的每一步。任意大小的非负整数都能转换。

空格和下划线会被忽略,也可以带 0b、0o、0x 前缀。
二进制11111111
十进制255
八进制377
十六进制FF
位数8
所需字节数1
补齐到整字节1111 1111

11111111 中的每个 1 代表 2 的一个幂:128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 255。十六进制把二进制每 4 位分为一组(1111 1111),八进制每 3 位一组。

十进制转二进制:除二取余
除法商余数(位)
255 ÷ 21271
127 ÷ 2631
63 ÷ 2311
31 ÷ 2151
15 ÷ 271
7 ÷ 231
3 ÷ 211
1 ÷ 201
余数从下往上读:11111111

全部在你的设备上计算 · 公式已用已知数值验证 · 了解我们如何验证

使用方法

输入一个数,选择它是用哪种进制写的(二进制、八进制、十进制或十六进制),然后点转换。同一个值会同时以四种进制显示,每一项都可以一键复制。下面还会列出它需要的位数、在左边补 0 凑成 8 位(1 字节)整数倍的二进制;输入的不是二进制时,还会用表格列出除二取余的每一步。所有计算都在你的浏览器里完成,输入的数不会发送到任何服务器。

二进制的原理:每一位的权是 2 的幂

十进制里,每往左一位,位权就乘以 10:个位、十位、百位、千位。二进制里位权每次乘以 2,从右往左依次是 1、2、4、8、16、32、64、128。二进制的每一位(bit)只能是 0 或 1,所以一个二进制数其实就是在说“要把哪些 2 的幂加起来”。11111111 的 8 位全是 1:128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 255,这是 1 个字节能存下的最大数,所以 256 是第一个需要 9 位的数。

十进制转二进制:除二取余法(短除法)

把十进制数除以 2,记下余数(0 或 1),再用商继续除以 2,一直除到商为 0。把余数从下往上(从最后一个到第一个)排列,就是二进制结果。以 37 为例:

  1. 37 ÷ 2 = 18 余 1
  2. 18 ÷ 2 = 9 余 0
  3. 9 ÷ 2 = 4 余 1
  4. 4 ÷ 2 = 2 余 0
  5. 2 ÷ 2 = 1 余 0
  6. 1 ÷ 2 = 0 余 1

倒序读出余数,得到 100101。验算:32 + 4 + 1 = 37。课本上常把这个过程写成竖式的短除法,道理完全一样。

二进制转十进制:按权展开求和

把每一位乘以它所在位置的位权(2 的幂),再全部相加。101101 中为 1 的各位,位权分别是 32、8、4、1,所以 32 + 8 + 4 + 1 = 45。写成公式就是 1×2⁵ + 0×2⁴ + 1×2³ + 1×2² + 0×2¹ + 1×2⁰。为 0 的位不贡献任何值,只需把为 1 的位权加起来。

十进制、二进制、八进制、十六进制对照表

十进制二进制八进制十六进制
0000
1111
21022
31133
410044
510155
611066
711177
81000108
91001119
10101012A
11101113B
12110014C
13110115D
14111016E
15111117F
16100002010
321000004020
64100000010040
100110010014464
12711111111777F
1281000000020080
25511111111377FF
256100000000400100
1,000111110100017503E8
1,024100000000002000400

二进制转十六进制、八进制:分组转换

十六进制用 0 到 9 和 A 到 F 表示 0 到 15。因为 16 = 2⁴,十六进制的 1 位正好对应二进制的 4 位:把二进制数从右往左每 4 位分成一组(最左边不足 4 位就补 0),每组换成一个十六进制数字即可。例如 1010 0110 就是 A6。1 个字节永远是两位十六进制(00 到 FF),所以内存地址、MAC 地址、网页颜色 #FF8800(红 FF、绿 88、蓝 00)都习惯用十六进制书写。

八进制用 0 到 7,1 位对应二进制的 3 位,所以从右往左每 3 位一组。八进制 777 就是二进制 111 111 111,等于十进制 511、十六进制 1FF。如今八进制最常见于 Linux 文件权限:chmod 755 就是 111 101 101,也就是 rwxr-xr-x。

例子:十六进制 FF 换成各种进制

F 的二进制是 1111,所以 FF 是 11111111。把 2 的幂加起来得到十进制 255;把同样的位从右往左每 3 位分组(011 111 111),得到八进制 377。一共 8 位,正好 1 个字节。

8 位、16 位、32 位、64 位能表示的最大数

位数最大值十六进制
8 位255FF
16 位65,535FFFF
32 位4,294,967,295FFFFFFFF
64 位18,446,744,073,709,551,615FFFFFFFFFFFFFFFF

n 位二进制可以表示 2ⁿ 个不同的值,从 0 到 2ⁿ − 1。32 位无符号整数最大约 43 亿,这也是 IPv4 地址总数的来源。本工具转换的是数值,不是文字:把汉字或英文字母变成 0 和 1 需要先选定字符编码(如 UTF-8),请用二进制翻译器。要算分数或百分比,可以用分数计算器和百分比计算器。

常见问题

10 的二进制是多少?

10 的二进制是 1010。10 ÷ 2 = 5 余 0,5 ÷ 2 = 2 余 1,2 ÷ 2 = 1 余 0,1 ÷ 2 = 0 余 1,余数从下往上读是 1010,也就是 8 + 2。

负数怎么转换成二进制?

计算机先固定位数,再用补码表示负数:把绝对值的二进制按位取反,再加 1。在 8 位下,−1 是 11111111,−128 是 10000000,和无符号的 255、128 是同样的位模式,所以必须先约定位数和表示方法。本转换器只处理非负整数。

小数能转换成二进制吗?

这个工具不行。小数部分要用 2 的负幂表示(二进制 0.1 是 1/2,0.01 是 1/4),通常用“乘二取整法”逐位求出,而很多十进制小数在二进制里是无限循环的:0.1 会变成 0.000110011…。这就是很多编程语言里 0.1 + 0.2 不严格等于 0.3 的原因。

0b、0o、0x 前缀是什么意思?

它们是大多数编程语言里标明进制的前缀:0b 表示二进制,0o 表示八进制,0x 表示十六进制。0b11111111、0o377、0xFF 和 255 是同一个数。转换器会接受所选进制的前缀并自动去掉。

一个数需要多少位二进制?

找出不超过它的最大的 2 的幂,把指数加 1。255 小于 2⁸ = 256,所以 8 位就够;256 需要 9 位。结果中的“位数”就是这个值,“所需字节数”是把它按 8 位向上取整后的字节数。

把这个计算器嵌入你的网站

可免费用于你的网站或博客。把下面的代码粘贴到想显示计算器的位置即可。

最后更新:2026年10月15日

菜单

分类

理财与贷款计算器15款计算器商业与购物计算器5款计算器健康与减重计算器6款计算器数学与学习计算器7款计算器日期与时间计算器5款计算器节日与重要日子倒计时6款计算器生活实用工具7款计算器

CalcWorthy

关于我们联系我们隐私政策使用条款

语言

语言
简体中文Simplified ChineseEnglishEnglishالعربيةArabicবাংলাBanglaDeutschGermanEspañolSpanishفارسیPersianFrançaisFrenchעבריתHebrewहिन्दीHindiBahasa IndonesiaIndonesianItalianoItalian日本語Japanese한국어KoreanBahasa MelayuMalayNederlandsDutchPolskiPolishPortuguêsPortugueseРусскийRussianไทยThaiTürkçeTurkishУкраїнськаUkrainianاردوUrduTiếng ViệtVietnamese