跳到主要内容

格雷码转换器,二进制十进制互转反射二进制码

十进制、二进制、格雷码三向互转,公式 gray = n^(n>>1),两边一键复制,全程浏览器本地

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

转换方向

位宽:
格雷码(二进制)
111
格雷码(十进制)
7
二进制值
101

格雷码序列(教学对照表)

相邻两行只相差 1 个比特位。

n
格雷码(二进制)
0
0000
1
0001
2
0011
3
0010
4
0110
5
0111
6
0101
7
0100
8
1100
9
1101
10
1111
11
1110
12
1010
13
1011
14
1001
15
1000

gray = n ^ (n >> 1)。全程在你本地浏览器里用普通整数运算,数据不离开页面。

这个工具能做什么

免费格雷码(反射二进制码)转换器,在十进制、普通二进制和格雷码之间 任意方向互转。填一个十进制数,按标准公式 gray = n ^ (n >> 1) 立刻 读出它的格雷码;填普通二进制也得到同样结果;或者粘一段格雷码,用逐位 异或还原回二进制和十进制。可选位宽会把输出补零到 4、8 或 16 位,方便 对齐寄存器或编码器字长。教学对照表会列出 0 到 n 的格雷码序列,你能亲眼 看到它的核心性质,相邻两个数只差 1 个比特位,这正是旋转编码器和卡诺图 依赖它的原因。每个结果格子都能一键复制,分享链接可还原你的原始输入。 100% 浏览器本地运算,任何内容都不上传。

工具细节

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

怎么用

  1. 1. 输入

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

  2. 2. 处理

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

  3. 3. 复制 / 下载

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

格雷码转换器 适合怎么用

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

适合开发场景

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

开发检查项

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

下一步可以接着做

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

  1. 1 单位换算 长度 / 重量 / 温度 / 面积 / 体积 / 速度 / 时间 七大类一站搞定 —— 浏览器本地 打开
  2. 2 百分比计算 5 种常用百分比计算 —— X% 是多少 / X 是 Y 的百分之几 / 百分比变化 / 增减 —— 浏览器本地 打开
  3. 3 进制转换器 进制转换器 —— 二进制、八进制、十进制、十六进制、2-36 任意进制。含位运算。 打开

真实使用场景

  • 解码绝对式旋转编码器

    你的编码器输出一个格雷码位置字,手册要求必须先转换再当索引用。把 工具切到格雷码转十进制,把总线上读到的原始位直接粘进去,就能读出 真实位置。因为编码器保证每步只变一位,你永远不会看到中途的毛刺值, 解出来的十进制就是可以直接写进固件的那个数,省掉一层人工换算。

  • 手画卡诺图

    卡诺图之所以成立,是因为行头和列头按格雷码排列,相邻格子只差一个 变量。把教学对照表设成 2 位或 3 位格雷码序列,把这个顺序照抄到你的 方格上。这样相邻的 1 就能干净地圈在一起,化简后的布尔表达式自然 浮现,不会出现普通二进制表头那种环绕错位的低级错误。

  • 在代码评审里验证格雷码实现

    同事提交了一个号称能生成格雷码的函数。把 n = 5 填进十进制转格雷码, 确认它返回 111,再拿几个值对照教学表跑一遍。只要它的输出和这个参考 不一致,或者相邻两数差了不止一位,你就在它合进编码器驱动之前抓到了 bug,而到了驱动层再排查会麻烦得多。

  • 给学生讲清楚只变一位的性质

    讲格雷码为什么重要,学生亲眼看到比听讲管用。打开教学对照表,把行数 调大,顺着列表往下走,指出每一个相邻项都只翻一个数字。把网址分享 出去,每个学生在自己电脑上打开同一张表,再把自己的生日数字转一遍, 对照正向公式和反向解码两边对得上不对得上。

常见踩坑

  • 把普通二进制当成格雷码打印出来。5 的格雷码是 111 而不是 101。如果你的输出和普通二进制一模一样,说明 n ^ (n >> 1) 这一步被跳过了,所以一定要拿 5 转 111 这样的已知值核对一下。

  • 忘了解码用的异或和编码不一样。编码只是一次移位加一次异或,而解码要把每一位和它更高的所有位异或。拿编码公式去解码,对任何大于 1 的值都会出错,这也是本工具单独设一个格雷码转十进制方向的原因。

  • 选了一个装不下当前值的位宽。8 的格雷码是 1100,需要四位,硬塞进 3 位字段会被截断,结果毫无意义。拿不准时选自动,或者至少选一个不小于你要编码的最大值所需的位宽。

隐私说明

每一步运算,正向 gray = n ^ (n >> 1)、反向异或解码、位宽补零和教学 对照表,都是在你浏览器标签页里运行的纯 JavaScript。你输入的任何数字 都不会被发往别处,也不做任何记录。唯一要注意的是,分享链接会把你的 输入和转换方向写进查询字符串,所以把链接粘到聊天里,对方服务器的访问 日志会留下这些值。涉及敏感内容时,请用复制按钮而不是分享网址。

常见问题

类似工具组合

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

Made by Toolora · 100% client-side · Updated 2026-05-29