我们是否忽略补码的溢出

2023-12-03

我试图解决二进制补码内的溢出问题,例如说我试图去掉这两个二进制数: 1111 1000 0100 - 010 111 001 000

我将第二个二进制数转换为两个补码等值,然后简单地将其相加,但我注意到它导致了 1 的溢出,我是否只是忽略溢出?或者有什么规则我必须遵守 1111 1000 0100 + 1010 0011 1000 = (1) 1001 1011 1100


简短回答:

如果您正在对固定宽度的二进制数执行算术运算,使用负数的补码表示,那么是的,您可以忽略一位溢出。

长答案:

你可以考虑每一个i第 1 位n- 位二进制补码表示法的位值为 2^i,对于 0 i < n- 1、带位n- 1(符号位)具有位值-2^(n- 1).那是一个negative符号位的位置值。如果计算两个这样的数字的总和,就好像它们是无符号的一样n位二进制数,这些情况都很好:

  • 符号位未在加数或结果中设置(重新解释为二进制补码表示形式),
  • 符号位恰好设置在加数之一中,无论溢出如何(如果发生则被忽略),或者
  • 符号位在两个加数(因此存在溢出,被忽略)和结果中设置。

为了理解这一点,将问题视为两个单独的和可能更容易:符号位的和以及值(其他)位的和。值和的溢出会产生一个溢出位,其位值为 2^(n-1) -- 恰好是符号位的位置值的倒数 -- 因此这样的溢出cancels一个符号位。

负 + 负的情况需要这样的取消才能使结果可表示(两个符号位 + 一个值溢出 = 一个符号位),而正 + 正的情况不能容纳这样的取消,因为没有可取消的符号位。在正+负的情况下,恰好在结果为非负的情况下存在值位和的溢出;您可以考虑取消负加数的符号位,这会产生与忽略整个无符号和的溢出相同的结果,并将和重新解释为二进制补码数。

其余情况产生的数学结果无法用n-位二进制补码格式——大于最大可表示数,或小于最小数。如果忽略溢出,则可以通过明显的符号翻转来识别此类结果。你用它做什么是错误恢复策略的问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我们是否忽略补码的溢出 的相关文章

  • jQuery datepicker 导致页面溢出

    我正在使用 jQuery ui 1 8 中的 datepicker 控件 from date是文本输入 我附上一个非常简单的日期选择器 from date datepicker 这会导致页面溢出 垂直滚动条 我试图避免这种情况 一旦我单击起
  • 处理表中的溢出

    如果我有一个像这样非常非常简单的例子的表 table table layout fixed width 300px td1 width 100px td2 width 200px 在我的其中之一 td2包含一个图像 可以说 300px in
  • Java:将浮点二进制转换为浮点十进制

    我想转换表示 IEEE754 双精度数尾数部分的字符串 找不到Java中是否有这样的转换方法 以避免手动添加1 1 2 1 4 1 8等 010000001100101000011111000000000000000000000000000
  • 如何获取ASCII后面的二进制代码(C#)

    我试图找出如何将控制台的输入转换为二进制 如何在 C 中进行这样的转换 先感谢您 string s Console ReadLine byte bytes Encoding ASCII GetBytes s 请注意 控制台使用的编码实际上不
  • 将十六进制字符串(hex)转换为二进制字符串

    我发现了以下十六进制到二进制转换的方法 String binAddr Integer toBinaryString Integer parseInt hexAddr 16 虽然此方法适用于较小的十六进制数字 但如下所示的十六进制数字 A14
  • 如何计算 (a*b)%c 形式的模数?

    如何计算 a b c 形式的模数 我想计算两个 int 数字相乘的模数 它们几乎处于溢出阶段 这里 c 也是 int a b c a c b c c
  • 如何用Java读取.EXE文件的内容

    在 Java 中读取可执行文件有哪些可能的选项和最合适的选项 我想生成 exe 文件的十六进制表示形式 我正在考虑以二进制方式读取文件 然后进行转换 但是我怎样才能读取 exe呢 1 以字节形式读取文件 使用 BufferedInputSt
  • 如何使用 Erlang 发送推送通知?

    我正在尝试使用 Erlang 向 APNs 发送推送通知 这是我到目前为止想出的代码 module apnstest2 export connect 0 connect gt application start ssl ssl seed s
  • Python 的按位求补运算符 (~ 波形符) 是如何工作的?

    为什么 2等于 3 如何 操作员工作 请记住 负数存储为二进制补码的正对应物 作为示例 以下是 2 的二进制补码表示形式 8 位 1111 1110 获得此值的方法是采用数字的二进制表示形式 取其补码 反转所有位 并加一 两个以 0000
  • 将任何文件转换为二进制文件,反之亦然

    我在 StackOverFlow 网站和互联网上搜索了这个问题及其相关问题 但仍然没有得到明确的答案 我想知道我可以使用什么软件将任何文件 关于大小 转换为包含此特定文件的零和一 仅 的文本文件 然后将包含这些零和一的文本文件转换回原始文件
  • 文本背景颜色溢出

    我将背景颜色应用于国家 地区列表中的链接 总体来说效果很好 然而 对于名称较长的国家来说 它的效果不太好 我试图让黄色溢出一切并清楚地显示国家的全名 HTML div class flagList div class flagColumn
  • 在 Python 中读取和解释二进制文件中的数据

    我想逐字节读取文件并检查每个字节的最后一位是否已设置 usr bin python def main fh open tmp test txt rb try byte fh read 1 while byte if int byte 16
  • 以 4 为底的二进制 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 如何将数字从二进制转换为基数 4wi
  • 有没有办法对 unsigned long long A 和 B 执行 (A*B) mod M 而不会溢出?

    我不想经历在 Windows 上安装 GMP 的噩梦 我有两个数字A和B unsigned long longs 最多 10 10 左右的数量级 但即使在这样做时 A M B M M 我得到整数溢出 是否有用于计算的自制函数 A B M对于
  • Javascript:相当于 PHP 的 hash_hmac() 与原始二进制输出?

    我正在连接到亚马逊产品广告 API 要签署我的请求 我需要对原始二进制文件HMAC SHA256 哈希的输出 In hash hmac 的 PHP 文档 http php net manual en function hash hmac p
  • 在 C 中将整数转换为二进制

    我正在尝试将整数 10 转换为二进制数 1010 此代码尝试执行此操作 但我在 strcat 上遇到段错误 int int to bin int k char bin bin char malloc sizeof char while k
  • 处理负整数的汇编 MASM

    我被指示用汇编语言编写一个程序 该程序将执行以下算术 A B C D A E 当没有负值发挥作用时 我成功地做到了这一点 但假设 A 5 B 4 C 3 D 2 和 E 1 这给了我们 5 4 3 2 5 1 或 6 这就是我需要帮助的地方
  • 如果当前行的宽度太窄,则将子级的溢出移至下一行

    EDIT 我正在构建一个简单的活动日历 使用 HTML CSS 目前正在处理多日活动 我是 HTML CSS 的初学者 有一个非常简单的问题 但我似乎找不到答案 如果没有 如何使子 div 溢出到下一行 div 等 屏幕上 或 div 行
  • 如何查找数字的二进制表示形式中 1 的个数?

    从其他搜索中 我发现这个问题被称为 汉明权重 或 人口计数 这么多的统计数据已经给出了很多答案吗 我需要以简单的方式找到解决方案吗 复杂性并不是什么大问题 JavaScript 中是否有像 Java 的 Integer bitCount 这
  • 如何将png二进制数据放入img标签中并将其显示为图像?

    我正在用这个 ajax type GET url template bump1 purse png datatype image png success function data var reader new FileReader rea

随机推荐

  • 无法使用 PRAW 从某些 Reddit 子版块中获取随机帖子

    我正在尝试使用此代码让一个不和谐的机器人从reddit发送图像 只是为了抓取而不是发送 def random post subreddit while True post reddit subreddit subreddit random
  • Android:如何获取自定义View的高度和宽度? [复制]

    这个问题在这里已经有答案了 我该如何使用getMeasuredWidth and getMeasuredHeight 它总是返回 0 这和有什么区别getHeight and getWidth 刚刚找到了获取自定义视图的高度和宽度的解决方案
  • SQLite中保存资源路径

    我需要将图像保存在 SQLite 数据库的资源文件夹中 该数据库是预加载的 复制到数据 路径 因此在运行时不会填充 我尝试将其保存在 SQLite 的文本字段中 R drawable picture1 我的drawable文件夹中有大约30
  • MySQL FULLTEXT 不适用于多个字段

    我有一个标准的 MySQL 全文查询 如下所示 SELECT FROM accounts WHERE MATCH first name username AGAINST stringhere 问题是 它找不到该字段的全文索引first na
  • 通过 jQuery 添加 JSF 标签/组件

    这是我所做的 var a document getElementById panelForm tableId01
  • NSIS 系统 kernel32::LoadLibrary 不搜索 Outdir 或 Path

    我正在尝试在 NSIS 安装程序中加载并调用 C 库 DLL 的函数 当我尝试加载 DLL 时 发出错误 126 ERROR MOD NOT FOUND 这是我用来测试的最小安装程序脚本 OutFile Main exe ShowInstD
  • 如何配置Json.NET自定义序列化?

    由于我无法控制的原因 我从外部服务返回的数据被格式化为字符串数组的数组 string one string two 我试图将其反序列化为具有两个属性的对象 public class MyObject public string Proper
  • ajax 调用导致错误而不是成功

    在我的 ASP net mvc3 项目中 我使用 ajax 调用将 json 数据发送到控制器公司中的创建操作方法 但是当我调试ajax调用时 它总是以错误结果而不是成功结果结束 阿贾克斯调用 ajax url Company Create
  • 在javascript中移动对象元素位置

    我正在尝试找到一种将对象元素移动到特定位置的方法 例如 我有这个对象 element1 object element2 element3 我搜索将 element3 移动到第一个位置 element3 element1 element2 感
  • 从 PDO 准备好的语句中获取原始 SQL 查询字符串

    在准备好的语句上调用 PDOStatement execute 时 有没有办法让原始 SQL 字符串执行 出于调试目的 这将非常有用 我假设您的意思是您想要最终的 SQL 查询 并将参数值插入其中 我知道这对于调试很有用 但这不是准备好的语
  • 如何为等待函数调用添加超时

    向等待函数添加超时的最佳方法是什么 Example lets pretend this is in a library that I m using and I can t mess with the guts of this thing
  • 按平均值排名的箱线图

    我想显示多个变量的箱线图 并按列均值降序排列它们 就像在绩效分析包裹 我使用以下代码生成箱线图 zx lt replicate 5 rnorm 50 zx means lt colMeans zx na rm TRUE boxplot zx
  • django 和 facebook:代表用户执行第三方登录的 facebook web 应用程序的安全性和设计

    我正在编写一个 Facebook 画布 Web 应用程序 它执行对第三方网站的登录 使用 urllib 并代表用户执行操作 这意味着我有2个账户 用户在我的网络应用程序中拥有的帐户 通过 facebook 以及应用程序用来代表他们执行登录的
  • Android Parcelable 对象返回 Null

    我有产品类 我想将产品对象从一项活动传递到另一项活动 我已经这样实现了 public class Product implements Parcelable private double availableQuantity private
  • 函数修改列表

    def make Ab A b n len A Ab list A for index in range 0 n Ab index append b index 0 print A return Ab copy A 0 0 1 0 1 0
  • VSCode 片段触发器之前有文本吗?

    我想在 VSCode 中创建一个显示 PHP 箭头的代码片段 当我按 键然后按 TAB 键时 我想要 PHP 箭头 gt 这是我的代码片段 PHP arrow prefix body gt 0 description PHP Arrow g
  • R - 将数据帧转换为格式为 featureName:featureValue [重复] 的数据集

    这个问题在这里已经有答案了 原来我想要的格式叫 SVM 轻 并在这里描述http svmlight joachims org 我有一个数据框 我想将其转换为格式如下的文本文件 output featureIndex featureValue
  • 无法在子进程命令中使用 grep

    我的子进程命令有问题 我喜欢 grep 出与 Online 行匹配的行 def run command command p subprocess Popen command shell False stdout subprocess PIP
  • 如何处理 tokio::spawn 闭包需要“static”和“&self”?

    我无法理解如何编写封装在一个结构中的并发异步代码 我不确定如何准确解释这个问题 所以我会尝试用一个例子来解释 假设我有一个UdpServer结构 该结构有多个与其行为相关的方法 例如 handle datagram deserialize
  • 我们是否忽略补码的溢出

    我试图解决二进制补码内的溢出问题 例如说我试图去掉这两个二进制数 1111 1000 0100 010 111 001 000 我将第二个二进制数转换为两个补码等值 然后简单地将其相加 但我注意到它导致了 1 的溢出 我是否只是忽略溢出 或