二进制转十进制转换器

→
十进制 = 每一位 × 2 的位权,再全部相加

二进制转十进制:把一连串的位重新读成意义

这个换算在做什么

它把一串 0 和 1 当作 2 进制数来读,再用 10 进制复述一遍。当屏幕上的值本来就是机器格式——寄存器转储、掩码、标志字节——而你想问的却是一个人的问题,比如这个值有没有越过阈值,需要的正是这个方向。

按位加权求和的手算方法

从右往左,每一位分别是 1、2、4、8、16、32、64、128 这样的 2 的幂。把所有为 1 的位对应的权值加起来即可。10011100 中为 1 的位是 128、16、8、4,所以十进制值是 156。记住前几个权值之后,剩下的就只是很短的加法。

二进制转十进制对照表

常见位模式及其十进制值。全 1 的那几行最值得记:每一个都比下一个 2 的幂小 1,这也是 255 和 65535 在计算机里无处不在的原因。

二进制十进制
00
11
102
113
101010
111115
1000016
10101042
11111111255
100000000256

读懂一个状态标志字节

状态字节其实不是一个数,而是八个是非答案被打包进同一个值里。转成十进制后,你得到一个可以用来比较和记录的紧凑句柄;具体的位则告诉了你究竟发生了什么。数据手册按位描述,日志文件按十进制记录,这个换算就是两者之间的那一步。

留意打头的零

前导零不改变数值——0011 和 11 都是三——但它改变宽度,而宽度决定了这个字段是一个字节还是四个字节。从定宽字段里复制出数值时,即使转换器会忽略补零,也请在笔记里把它保留下来。

常见问题

怎样在脑子里读二进制?

对八位二进制,从左到右在上方写下 128、64、32、16、8、4、2、1,再把所有 1 上方的数加起来。10011100 就是 128 + 16 + 8 + 4 = 156。练熟八位就足以覆盖绝大多数日常场景。

为什么 11111111 是 255 而不是 256?

因为八位能表示从 0 开始的 256 个不同值,其中最大的那个是 255。一般地,n 位最大能到 2 的 n 次方减 1。这个差一正是“一个字节装得下 256 个值、但 256 这个值装不进一个字节”的原因。

可以粘贴带空格的二进制吗?

可以。空格、制表符和下划线都会被忽略,所以从终端或内存转储复制来的字符串不必先清理。每四位或八位分一组只是方便阅读,本身不携带任何含义。

开头是 1 就代表这个数是负数吗?

只有在你事先约定这个字段是有符号补码时才是,而那是格式的属性,不是位的属性。单独看,11111111 就是 255。除非你显式输入负号,本转换器一律把输入当作非负的绝对值。

能转换的二进制串最长有多长?

足够长到你日常需要粘贴的任何内容——这里使用精确整数运算而不是浮点,所以不会像计算器那样随位数增长而失真。极长的输入会被明确拒绝,而不是被悄悄截断。

复制下面的代码并粘贴到您的网站,即可添加此换算器。

<!-- 二进制转十进制 -->
<iframe src="https://unitflow.net/zh/embed/binary-to-decimal" title="二进制转十进制" width="100%" height="420" loading="lazy" style="border:0;max-width:100%;display:block"></iframe>
<p><a href="https://unitflow.net/zh/binary-to-decimal" target="_blank" rel="noopener">由 UnitFlow 提供</a></p>