十进制、二进制、格雷码三向互转,公式 gray = n^(n>>1),两边一键复制,全程浏览器本地
- 本地处理
- 分类 开发运维
- 适合 格式化、校验、压缩或检查和代码相关的文本。
转换方向
格雷码序列(教学对照表)
相邻两行只相差 1 个比特位。
gray = n ^ (n >> 1)。全程在你本地浏览器里用普通整数运算,数据不离开页面。
这个工具能做什么
免费格雷码(反射二进制码)转换器,在十进制、普通二进制和格雷码之间 任意方向互转。填一个十进制数,按标准公式 gray = n ^ (n >> 1) 立刻 读出它的格雷码;填普通二进制也得到同样结果;或者粘一段格雷码,用逐位 异或还原回二进制和十进制。可选位宽会把输出补零到 4、8 或 16 位,方便 对齐寄存器或编码器字长。教学对照表会列出 0 到 n 的格雷码序列,你能亲眼 看到它的核心性质,相邻两个数只差 1 个比特位,这正是旋转编码器和卡诺图 依赖它的原因。每个结果格子都能一键复制,分享链接可还原你的原始输入。 100% 浏览器本地运算,任何内容都不上传。
工具细节
- 输入
- 数值
- 页面会根据工具类型展示文本框、数值控件、文件选择或结构化输入。
- 输出
- 即时结果 + 复制
- 结果区优先给出可操作结果,支持项会显示复制、下载或可视化预览。
- 隐私
- 浏览器本地处理
- 主工具逻辑未发现外部 API 调用,输入通常留在当前标签页内处理。
- 保存 / 分享
- 可分享链接状态
- 关键设置会进入 URL,复制链接后别人能复现同一组参数。
- 性能预算
- 首屏 JS ≤ 9 KB
- 没有声明 WASM 依赖,适合快速打开和移动端使用。
- 适用场景
- 开发运维 · 程序员
- 分类和职业标签用于推荐相关工具、组织内链,并帮助用户快速判断是否适合当前任务。
怎么用
-
1. 输入
把内容粘贴或拖入工具面板。
-
2. 处理
点击按钮,在浏览器内本地处理,文件不上传。
-
3. 复制 / 下载
一键复制结果或下载到本地。
格雷码转换器 适合怎么用
适合穿插在写代码、查问题、做 Review、上线前的小任务里。
适合开发场景
- 格式化、校验、压缩或检查和代码相关的文本。
- 把片段整理好再放进文档、工单、提交或交接材料。
- 不切换工具,快速检查一个小 payload。
开发检查项
- 压缩、混淆这类不可逆处理,先对副本操作。
- 除非确认工具本地处理,不要粘贴密钥和敏感片段。
- 转换后的代码上线前,仍要跑自己的测试或 lint。
下一步可以接着做
这些入口会把当前任务接到更完整的工具链里。
真实使用场景
解码绝对式旋转编码器
你的编码器输出一个格雷码位置字,手册要求必须先转换再当索引用。把 工具切到格雷码转十进制,把总线上读到的原始位直接粘进去,就能读出 真实位置。因为编码器保证每步只变一位,你永远不会看到中途的毛刺值, 解出来的十进制就是可以直接写进固件的那个数,省掉一层人工换算。
手画卡诺图
卡诺图之所以成立,是因为行头和列头按格雷码排列,相邻格子只差一个 变量。把教学对照表设成 2 位或 3 位格雷码序列,把这个顺序照抄到你的 方格上。这样相邻的 1 就能干净地圈在一起,化简后的布尔表达式自然 浮现,不会出现普通二进制表头那种环绕错位的低级错误。
在代码评审里验证格雷码实现
同事提交了一个号称能生成格雷码的函数。把 n = 5 填进十进制转格雷码, 确认它返回 111,再拿几个值对照教学表跑一遍。只要它的输出和这个参考 不一致,或者相邻两数差了不止一位,你就在它合进编码器驱动之前抓到了 bug,而到了驱动层再排查会麻烦得多。
给学生讲清楚只变一位的性质
讲格雷码为什么重要,学生亲眼看到比听讲管用。打开教学对照表,把行数 调大,顺着列表往下走,指出每一个相邻项都只翻一个数字。把网址分享 出去,每个学生在自己电脑上打开同一张表,再把自己的生日数字转一遍, 对照正向公式和反向解码两边对得上不对得上。
常见踩坑
把普通二进制当成格雷码打印出来。5 的格雷码是 111 而不是 101。如果你的输出和普通二进制一模一样,说明 n ^ (n >> 1) 这一步被跳过了,所以一定要拿 5 转 111 这样的已知值核对一下。
忘了解码用的异或和编码不一样。编码只是一次移位加一次异或,而解码要把每一位和它更高的所有位异或。拿编码公式去解码,对任何大于 1 的值都会出错,这也是本工具单独设一个格雷码转十进制方向的原因。
选了一个装不下当前值的位宽。8 的格雷码是 1100,需要四位,硬塞进 3 位字段会被截断,结果毫无意义。拿不准时选自动,或者至少选一个不小于你要编码的最大值所需的位宽。
隐私说明
每一步运算,正向 gray = n ^ (n >> 1)、反向异或解码、位宽补零和教学 对照表,都是在你浏览器标签页里运行的纯 JavaScript。你输入的任何数字 都不会被发往别处,也不做任何记录。唯一要注意的是,分享链接会把你的 输入和转换方向写进查询字符串,所以把链接粘到聊天里,对方服务器的访问 日志会留下这些值。涉及敏感内容时,请用复制按钮而不是分享网址。
常见问题
类似工具组合
做你这行的人, 还会一起用这些。