跳到主要内容

补码转换器:有符号二进制互转

有符号十进制转二进制补码和十六进制,支持 4、8、16、32、64 位,附原码反码补码三步推导,全程浏览器本地运算

  • 本地处理
  • 分类 开发运维
  • 适合 格式化、校验、压缩或检查和代码相关的文本。
位宽:
方向:

有符号范围 (8-bit): -128127

二进制 (8-bit)
10000000
十六进制
0x80

推导过程

原码10000000
反码(取反)01111111
补码(加一)10000000

全程用 BigInt 在本地运算,64 位的值也精确,不上传任何东西。

这个工具能做什么

免费补码转换器,给计算机课、嵌入式固件和底层调试用。填一个有符号 十进制,就能读出 4、8、16、32 或 64 位下精确的补码二进制位串,以及 对应的十六进制。比如 -1 在 8 位是 11111111(0xFF),-128 是 10000000 (0x80),127 是 01111111(0x7F)。反向也行:贴一个二进制字,工具会 按你选的位宽把它当成有符号十进制读回来,所以 11111111 在 8 位是 -1 而不是 255。每次换算都展示课本里那套三步推导:原码、反码(逐位取反)、 再补码(加一)。当一个数超出所选位宽的有符号范围,工具会直接报错而 不是悄悄回绕,因为 -129 根本塞不进 8 位。每个输出都能一键复制。全部 是纯客户端 JavaScript,不上传任何东西,运算用安全整数处理,64 位的值 也保持精确。

工具细节

输入
文本 + 数值
页面会根据工具类型展示文本框、数值控件、文件选择或结构化输入。
输出
即时结果 + 复制
结果区优先给出可操作结果,支持项会显示复制、下载或可视化预览。
隐私
浏览器本地处理
主工具逻辑未发现外部 API 调用,输入通常留在当前标签页内处理。
保存 / 分享
可分享链接状态
关键设置会进入 URL,复制链接后别人能复现同一组参数。
性能预算
首屏 JS ≤ 9 KB
没有声明 WASM 依赖,适合快速打开和移动端使用。
适用场景
开发运维 · 程序员
分类和职业标签用于推荐相关工具、组织内链,并帮助用户快速判断是否适合当前任务。

怎么用

  1. 1. 输入

    把内容粘贴或拖入工具面板。

  2. 2. 处理

    点击按钮,在浏览器内本地处理,文件不上传。

  3. 3. 复制 / 下载

    一键复制结果或下载到本地。

补码转换器 适合怎么用

适合穿插在写代码、查问题、做 Review、上线前的小任务里。

适合开发场景

  • 格式化、校验、压缩或检查和代码相关的文本。
  • 把片段整理好再放进文档、工单、提交或交接材料。
  • 不切换工具,快速检查一个小 payload。

开发检查项

  • 压缩、混淆这类不可逆处理,先对副本操作。
  • 除非确认工具本地处理,不要粘贴密钥和敏感片段。
  • 转换后的代码上线前,仍要跑自己的测试或 lint。

下一步可以接着做

这些入口会把当前任务接到更完整的工具链里。

  1. 1 进制转换器 进制转换器:二进制、八进制、十进制、十六进制、2-36 任意进制。含位运算。 打开
  2. 2 IP 转十进制工具 IPv4 点分地址转 32 位整数、二进制、十六进制,双向互转,浏览器本地 打开
  3. 3 科学计数法转换器 普通数 ⇄ 科学计数法 (a×10ⁿ) ⇄ 工程计数法 ⇄ E 记法:带有效数字、极大极小数精确不失真,浏览器本地 打开

真实使用场景

  • 一步步核对计算机课作业

    作业要 -37 的 8 位补码,你算出 11011011。填 -37,选 8 位,工具 会显示 37 是 00100101,反码 11011010,加一之后是 11011011 (0xDB)。这下你能看清哪一步对、哪一步错,而不是只被告知最终 答案不对。三行推导就是老师批改用的同一套方法,这里对上了就是 满分。

  • 从调试器读出一个原始寄存器值

    调试器把一个状态寄存器显示成 16 位字段里的 0xFF80,你要知道它 的有符号含义。切到二进制转十进制,贴上 1111111110000000,设成 16 位,读出 -128。不固定位宽的话,你可能误读成 65408 去追一个 根本不存在的 bug。工具把解释钉在寄存器大小上,你写进缺陷单里的 数字就是硬件里真正存的那个数。

  • 在定结构体之前先给整型字段定大小

    你在排一个报文结构体,温度读数可能到 -40。int8 够不够?在 8 位下 填 -40:能塞下,是 11011000。再试最坏情况 -200,工具标成越界, 告诉你 int8 最低到 -128,你得用 int16。这里花五秒,省掉一个只在 生产环境最冷那天才冒头的字段溢出 bug。

  • 不用白板讲清符号位

    给一个班演示为什么 10000000 是 -128 而不是 128,你设成 8 位,把 128 和 -128 都填一遍。128 超出有符号范围被标出来,而 -128 正好 落在 10000000 上。再切到正的 127,显示 01111111,比负数那端的 触达少一格。这种并排让有符号范围的不对称变得具体,是静态幻灯片 做不到的,而且网址能原样打开这个演示。

常见踩坑

  • 在有符号的语境里却把二进制字当无符号读。11111111 无符号是 255,但在 8 位补码里是 -1。一定要先固定位宽,再决定有符号还是无符号,因为同一串数字代表两个不同的数。

  • 忘了加一这步,停在了反码。把 5(00000101)逐位取反得到 11111010,那是 -6 不是 -5。补码是取反再加一,所以 -5 是 11111011。漏掉加一是手算时最常见的一个差一错误。

  • 以为正负范围是对称的。8 位的值能下到 -128,却只能上到 127 而不是 128。因为零占了正数那侧一个位置,能存成负数的量级比正数大一,这点常常让范围检查出错。

隐私说明

这里的每一步,原码那行、取反、加一和范围检查,都是浏览器标签页里运行 的纯 JavaScript。十进制、二进制字和位宽都不会发往服务器,也不记录任何 东西。唯一要知道的:分享链接会把你的输入和位宽写进查询字符串,所以把 链接粘到聊天里,对方服务器的访问日志会留下这些值。涉及保密硬件的数值, 请用复制按钮粘贴文本,而不是分享网址。

常见问题

类似工具组合

做你这行的人, 还会一起用这些。

Made by Toolora · 100% client-side · Updated 2026-06-14