先选数值还是位模式
默认是十进制 −42、8 位、有符号,自动计算开启。已有 FF 数据时,先改为位模式并选十六进制;如果要把负数编码成二进制,则使用数值模式。切换进制会重新读取当前文本,不会替你转换输入框中的数字。
数值 / 位运算 / 单位
先选输入是数学整数还是已有的位模式,再查看位宽、符号解释与截断结果。
仅输入一个整数,最多 256 个字符。可带与进制匹配的 0b/0o/0x 前缀;不接受内部空格、分隔符、换行或小数。
输入仅在当前浏览器中处理,不会发送到服务器。
数值模式编码数学整数;位模式读取非负整数模式,短模式在左侧补零,不接受负号。
修改选项会重新解释现有文本,不会改写输入。大小端只排列最终结果的完整字节,不反转字节内的位。
输入处于所选范围内。
调试器显示 −1,协议文档却写着 FF,往往是同一组位被赋予了不同含义。补码计算器让你先确定字宽与解释方式,再核对存储模式,避免仅凭十六进制最高位猜测正负。
很多问题出在“编码数值”和“读取已有编码”混在一起:数学值 255 放不进有符号字节,但原始位模式 FF 完全放得下。两种输入方式共享一组输出,让这个区别在计算时就能看见。
补码计算器会把 300 保留在输入框中,同时显示它在 8 位下只保留 44。补码溢出与输入格式错误分别说明:前者能继续查看截断后的位,后者必须先修正数字。不会用结果悄悄覆盖原值,也没有“应用截断”按钮。
32 位 0x12345678 的大端字节是 12 34 56 78,小端是 78 56 34 12。这里只交换字节的位置,12 不会变成 21,字节内部的位也不会倒序,数值与符号解释均保持一致。
默认是十进制 −42、8 位、有符号,自动计算开启。已有 FF 数据时,先改为位模式并选十六进制;如果要把负数编码成二进制,则使用数值模式。切换进制会重新读取当前文本,不会替你转换输入框中的数字。
位模式 FF 改成 16 位会得到 00FF,读数是 255,不会按原文本长度自动扩展符号位。若想在增大位宽后仍保留数学值 −1,应输入数值 −1;其 16 位结果才是 FFFF。
输入停顿 350 毫秒后自动计算;关闭开关可用计算按钮或 Ctrl/Cmd + Enter。任一参数变化都会让旧结果过期并禁用导出。示例与清空先预览改动字段数,应用后可撤销,输入与结果一起恢复。
有符号整数以最高位参与符号解释,无符号数则把所有位作为大小。8 位 FF 因此分别是 −1 和 255。主读数跟随所选解释,但两种读数与完整范围始终并排保留,适合核对协议字段与语言类型之间的差别。
负数补码怎么求,可以直接看 −42 的例子:绝对值为 00101010,逐位取反得到 11010101,加一为 11010110。步骤只对处于所选字宽有符号范围内的负数数值展示,包括最小负数;取反这一行不是独立反码转换功能。
无符号最大值 18446744073709551615 从解析到格式化都使用精确整数计算,不经过浮点数。二进制与十六进制按位宽补齐,报告附带原文本、模式、进制、范围状态、双读数与字节序,离开页面也能复核参数。
先确定字宽,再把绝对值写成同宽二进制,所有位取反后加一。以 8 位 −5 为例,00000101 → 11111010 → 11111011。若原值超出有符号范围,先查看越界提示,不能把截断结果当作原数的精确表示。
字宽决定最高位的位置和可表示范围。−1 在 8 位中是 FF,在 16 位中是 FFFF,数值没变但存储长度变了;相反,已有位模式 FF 扩到 16 位时补零,得到的是正数 255。
不必。选择位模式后,短输入会在左侧补零。例如 8 位下输入 1111 得到 00001111,读作 15。不能把这个四位文本先当作 −1,再自动扩展到八位。过多的前导零也不会单独触发超宽。
这里仅处理整数,小数和科学计数法都会报错。定点数需要另外指定小数位的缩放规则,浮点数又有指数和尾数结构,均不属于本页的整数表示模型。十六进制中合法的 E 是数字,不是指数标记。
256 个位模式中,最高位为 0 的一半表示 0 到 127,最高位为 1 的另一半表示 −128 到 −1。零占据非负的一侧,所以负数范围比正数多一个值,+128 不能精确放入有符号 8 位整数。
结果与预期不符?