问题标签 [complement]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2053 浏览

math - 有符号幅度和补码

我需要知道如何解决这个问题

使用 8 位有符号幅度、一个补码和二进制补码表示以下二进制十进制数:

  1. 88
  2. -76

我的解决方案是:

0 投票
4 回答
28336 浏览

math - 如何找到十进制数的 10 的补码

1056.074 的 10 的补码是多少?

请检查解决方案:

9999.999 - 1056.074 = 8943.925(1056.074 的 9 的补码)

现在将 1 添加到 .074 或 8943?

0 投票
0 回答
1184 浏览

binary - 2 的补码除法算法

遇到了适用于有符号震级数的两种除法算法(恢复和非恢复)。但不能将其应用于 2 的补码格式的数字。2的补码除法有什么算法吗?

0 投票
1 回答
431 浏览

binary - 使用符号幅度和二进制补码的二进制算术

我正在复习一周后的考试。我有一个我已经回答的示例问题,但我不确定它是否正确。有人可以为我验证我的答案,如果不正确,请解释 iv 哪里出错了。

这里是问题:考虑符号幅度符号中的两个二进制变量:A = 011111 和 B = 000001。显示所有涉及的步骤,以二进制格式执行以下操作(即,不要从二进制转换为另一个基数以获得结果)。假设您只有六位可用于答案。

AB 使用二进制补码。

这是我的答案:在 B B = 000001 翻转上使用二进制补码并加 1

然后 A + 补码 B

最终答案:011110

0 投票
0 回答
80 浏览

cpu-registers - 添加保存在 32 位寄存器中的 2 个有符号数。进位标志和结果是什么?

假设我们在 32 位寄存器(A 和 B)中保存了以下 2 的补码值:7FFFFFF0 和 0000002F,我们想将它们都相加,然后添加二进制 1 并将它们保存在不同的寄存器(C)中......什么是结果?进位标志是什么?

我知道结果将是 80000020,但这是负面的。这是要保存在寄存器 C 中的内容吗?

0 投票
2 回答
1420 浏览

c# - 显示整数的 16 位

我需要你的帮助,这是我的代码的一部分,但有一个我无法解决的问题。请帮助我;这就是我现在所做的,我可以得到 16 位二进制形式的正整数
`

问题是我将如何获得 16 位二进制形式的整数的负值

喜欢; 当我输入 5 时,我可以得到:0000000000000101

0 投票
1 回答
369 浏览

prolog - 补图 - 序言

我有个问题。我有一个连续的无向图。所以我需要一个 Prolog 中的代码,它给我一个补充图。

例如图表:

请帮助:)谢谢。

0 投票
2 回答
2430 浏览

c - 如何在C中检查一个数字是二进制还是2的补码?

我只使用逻辑门在 C 中制作二进制加法器。例如,现在我想添加4 + (-5),所以我会在 2 的补码中得到答案,然后将其转换为十进制。同样,如果我这样做,4 + (-3)我会得到二进制的答案,并想使用相同的函数将其转换为十进制。

现在,我知道如何将 2 的补数转换为十进制,将二进制转换为十进制。但我想使用相同的函数将 2 的补码和二进制转换为十进制。为此,我必须弄清楚数字是二进制还是 2 的补码。这是我卡住的地方。

有人可以给我一个想法、算法或 C 代码来找出一个数字是 2 的补码还是正常的二进制?

源代码

筹码

我们的hdr.h

注意:我将只显示该项目所需的标题。所以只是认为其他标题没有用。

将数组转换为整数的函数

获取整数位的函数,并返回指向包含位的数组的指针

将二进制转换为十进制的函数,反之亦然

主要程序设计

  • 从用户读取两个n1数字n2
  • 获取一个指针bits1bits2它指向一个数组,其中包含 和 的n1n2。请注意,数组的顺序是相反的,即最后一位将在0th数组的变量中。
  • 放置一个 for 循环,您将在其中传递三个变量,即您要添加的位和最后一次添加位操作的进位。
  • 返回值将是三位和进位的加法,加法后将更改为进位(如果有)。例如,您通过1and 0,并且进位是1,因此,返回将是0并且进位将再次更改为1
  • 返回值将存储在另一个名为sum.
  • 数组sum将使用我上面给出的函数转换为 int。
  • 现在这就是我卡住的地方。我现在想将 int 更改为十进制数。但要做到这一点,我必须知道它是 2 的补码形式,还是只是普通的二进制形式。我不知道该怎么做。

注意:这个nand2tetris项目是用 C 完成的,hdl但我很熟悉用 C 来完成。此外,我上面提到的许多功能都取自stackoverflow. 虽然,设计是我自己的。

0 投票
2 回答
651 浏览

google-sheets - Google spreadsheet get complements

Link here to spreadsheet

As the title says, how can I end up with cells that don't match in value, the difference/complement (set theory)?

I would prefer it with only FUNCTIONS and no script.

or with letters

or with with space.

0 投票
2 回答
2449 浏览

c++ - C++程序Booths算法2s使用数组补码

我已经包含了我遇到逻辑问题的程序。该程序基于booth的算法,我已经放了一个片段。在这个“工作”片段中,十进制数在数组 (a[0]=1 LSB) 的帮助下从用户转换为十进制形式接受,最后计算数组 b[] 的 2s 补码。现在,当我运行程序时:

输出

在输出中,我希望第 6 行为 0101,但得到 1101。为什么数组 b[] 的值会发生变化?第 5 行的数组 b[] 的值是正确的,为什么它会改变?根据代码,值不应该改变吗?我被卡住了..请帮忙!!任何建议将不胜感激!!