YourTools.
English
返回目录
工具

原码、反码与补码

按 8、16、32 或 64 位计算每行十进制整数的原码、反码与补码。

本地处理

文件只在当前浏览器处理;关闭或清空后不保留。

输入文本

输入或粘贴要处理的文本

调整设置

可调整位宽

原码、反码与补码

开始处理

在本机浏览器中处理,可随时取消

请先输入文本

工具介绍

计算十进制整数在 8、16、32 或 64 位下的原码、反码和补码。适合学习计算机组成原理、做相关习题,或者在编程时确认一个负数在内存里的二进制形式。每行输入一个数,运行一次就能得到整列结果。

结果按每 4 位一组显示,并附上补码的十六进制,例如 8 位下 -5 的原码为 1000 0101,反码为 1111 1010,补码为 1111 1011(FB)。只支持十进制整数,计算在浏览器中完成。

使用步骤

  1. 在“输入文本”中每行输入一个十进制整数,也可以点击“使用示例”。
  2. 在“位宽”中选择“8 位”“16 位”“32 位”或“64 位”,默认为 8 位。
  3. 点击“运行”。
  4. 在预览中查看每个数的原码、反码、补码和补码十六进制,再下载为文本文件。

格式与限制

输入
文本
输出
纯文本
大小上限
1 MB
可调设置
位宽(8 位、16 位、32 位、64 位)
隐私
文件留在当前浏览器会话中,不上传文件字节。
费用
免费,无需注册

常见问题

为什么 -128 的原码和反码显示 n/a?

8 位的原码和反码只能表示 -127 到 127,-128 只有补码 1000 0000 这一种形式。其他位宽同理,最小的那个负数只有补码。

正数的原码、反码、补码有区别吗?

没有。正数和 0 的三种形式完全相同,只有负数才不同:反码是原码除符号位外按位取反,补码是反码再加 1。

提示数值超出范围怎么办?

每种位宽能表示的范围有限:8 位为 -128 到 127,16 位为 -32768 到 32767,32 位为 -2147483648 到 2147483647。超出范围会报错并停止运行,换用更大的位宽即可。

可以输入十六进制或小数吗?

不可以,只接受十进制整数,可以带正负号,数字中的空格和下划线会被忽略。十六进制、二进制等进制之间的转换请使用“进制转换”工具。

64 位会丢失精度吗?

不会。计算使用任意精度整数,-9223372036854775808 到 9223372036854775807 之间的数都能得到精确结果。