这是补码计算器。把有符号整数写成位型,或把 hex / 二进制读成有符号数。8 位下 −1 是 0xFF,−52 是 0xCC。同一字节 0xFF 无符号是 255。
点格子翻转这一位。最左边(金圈)是符号位。
点一下即可复制
补齐、取反、加 1
补码加减(A、B 填有符号十进制)
示例,点色块填入
同一 4 位型在无符号、原码、反码、补码下的读法,点一行即可填入
| Binary | 无符号 | 原码 | 反码 | Two's |
|---|---|---|---|---|
| 0000 | 0 | 0 | 0 | 0 |
| 0101 | 5 | 5 | 5 | 5 |
| 0111 | 7 | 7 | 7 | 7 |
| 1000 | 8 | −0 | −7 | −8 |
| 1010 | 10 | −2 | −5 | −6 |
| 1111 | 15 | −7 | −0 | −1 |
把有符号整数写成补码位型,或把 hex / 二进制位型读成有符号数。位宽可选自动、4、8、12、16、32、64。8 位下 −1 是 0xFF(1111 1111),−52 是 0xCC,20 是 0x14。同一组位还有无符号读法:0xFF 是 255。HEX、Binary、Decimal 这些标识符不翻译。这不是 Hex 位运算计算器,也不是无符号的 Hex 计算器。
位型公式是 TC = (2^N + X) mod 2^N。8 位有符号 −128…127,4 位 −8…7。比位宽短的 hex/二进制是补 0,不是符号扩展。8 位 0x80 取负还是 0x80:这个宽度里没有 +128。相关:IEEE 754、字节序转换。
范围不对称。1000 0000 取反加一还是 1000 0000。数学上的 +128 放不进去。
取决于怎么读。本页会同时给出补码有符号值和同一组位的无符号读法。
当前位型每一位取反,不加 1。负数写成补码才是绝对值取反再加 1。硬件减法用后一种,所以补码取代了反码和原码。