二进制计算器:加减乘除、进制互转与位运算全解
从二进制四则运算讲到与十进制互转,再到位运算和补码,配真实输入输出例子,帮程序员和学生快速核对结果,理解逢二进一的本质。
二进制计算器:加减乘除、进制互转与位运算全解
二进制只有 0 和 1 两个符号,看着简单,真要手算加减乘除却容易丢进位、漏余数。这篇文章把二进制的四则运算、与十进制的互转、位运算和补码一次讲清楚,每个点都配具体例子,方便你边读边在 二进制计算器 里验证。
逢二进一:二进制加法的核心规则
十进制是逢十进一,二进制是逢二进一。一列只要凑够 2,就向高位进 1,本列留 0。这条规则是所有二进制运算的地基。
举个真实例子:1010 + 0110。从最低位开始逐列相加,0 加 0 得 0,1 加 1 得 10(本列写 0,进 1),0 加 1 再加进位得 10(本列写 0,进 1),1 加 0 再加进位得 10(本列写 0,进 1),最后进位单独占一位。结果是 10000。换成十进制就是 10 加 6 等于 16,而 10000 正好是十进制的 16,完全对得上。
手算时最容易出错的就是连续进位,一旦中间漏掉一次,后面全错。这也是我自己最初学二进制时栽过的坑:把 1010 + 0110 算成了 1110,因为忘了第二列进位会引发第三列也进位。后来养成习惯,算完立刻用十进制对一遍,错误当场暴露。
减法借位与乘除法
减法是逢借给二。某一列不够减,就向高位借 1,这个 1 到本列变成 2。比如 1000 - 0001,最低位 0 减 1 不够,逐级借位,最后得 0111,即十进制 8 减 1 等于 7。
乘法本质是移位相加。101 乘 11,把被乘数按乘数每一位错位写出再相加,结果是 1111,也就是 5 乘 3 等于 15,15 的二进制正是 1111。除法则给出商和余数两部分,1010 除以 11,商是 11,余数是 1,对应十进制 10 除以 3 商 3 余 1。除法最常见的错误是只看商、把余数丢了,所以核对时两行都要读。
二进制与十进制互转
二进制转十进制,按位权展开即可。1101 从右到左的位权是 1、2、4、8,把对应位是 1 的位权相加:8 加 4 加 1 等于 13。
十进制转二进制用除二取余法。把数字反复除以 2,记下每次余数,最后把余数从下往上读。比如 13 除以 2 商 6 余 1,6 除以 2 商 3 余 0,3 除以 2 商 1 余 1,1 除以 2 商 0 余 1,余数从下往上读是 1101,和上面互为验证。
实际工作里手算容易算错,直接把数填进计算器,结果会同时给出二进制、十进制、十六进制和八进制四种形式,一眼就能交叉核对。
位运算:与、或、异或与移位
位运算和上面的算术运算是两回事,它逐位独立处理,列与列之间不进位。
- 与(AND):两位都是 1 才得 1。
1100 与 1010等于1000。 - 或(OR):有一个是 1 就得 1。
1100 或 1010等于1110。 - 异或(XOR):两位不同得 1,相同得 0。
1100 异或 1010等于0110。 - 左移:整体往左挪,低位补 0,左移一位相当于乘 2。
0011左移一位是0110。 - 右移:整体往右挪,右移一位相当于整除 2。
这里有个关键区别要记牢:1 加 1 等于 10(算术加法有进位),而 1 或 1 只得 1(位运算不进位)。把两者搞混是最常见的认知错误。需要做掩码、标志位、加解密里的逐位逻辑时,用专门的 位运算计算器 更顺手。
补码:负数在计算机里怎么存
计算机存负数用的是补码,而不是简单加个负号。正数的补码就是它本身;负数的补码是把对应正数按位取反再加 1。以 8 位为例,-5 先取 5 的二进制 00000101,取反得 11111010,加 1 得 11111011,这就是 -5 的补码。
补码的妙处是减法能当加法做,a 减 b 等于 a 加上 b 的补码,硬件不必单独设计减法器。理解补码也就理解了为什么 8 位有符号数的范围是 -128 到 127。想看任意数的补码位形,可以用 补码转换器 直接生成,省去手工取反加一的麻烦。
程序员为什么离不开二进制
写底层代码、调固件、读数据手册时,寄存器值、内存地址、权限标志都以位为单位。一个权限字段可能用每一位代表一种权限,用或运算开启、用与运算检查、用异或运算翻转。算错一位,程序行为就完全跑偏。
把二进制运算交给工具,不只是省时间,更是省错误。四种进制同屏显示,一位的偏差立刻露馅,单看一串 0 和 1 是看不出来的。学习阶段用它建立直觉,工作阶段用它做合理性核验,都比纯手算可靠。
打开 二进制计算器,填两个数,选运算,结果带十进制对照即时出来,链接还能分享带结果,把一道题原样发给同学或同事。
Made by Toolora · Updated 2026-06-13