问题标签 [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 投票
3 回答
46698 浏览

complement - 如何计算正数和负数的补码?

如果我用一个补码来表示数字,我应该得到什么结果?
比如数字01110(一个正数),它的补码应该是01110还是10001?
如果数字为 10001(负数),则补码值为 01110?

0 投票
3 回答
183 浏览

regex - 如何从两个文本文件中获取互补行?

如何从两个文本文件中获取互补行?

文件file1.txt

文件file2.txt

我想把所有的线都放进去file1.txt而不是file2.txt. 这两个文件有数百 MB 大,并且包含非 ASCII 字符。有什么快速的方法来做到这一点?

0 投票
2 回答
113 浏览

mysql - Mysql补充了许多表和分组

我希望答案很简单,我很傻。

所以我有两张桌子:(day带 PK id_day)和hour(带 PK id_hour)。

我有另一个表tilt_time,它有id_day,id_hour字段和一个加 FK 字段(有禁止时间)。例如tilt_time具有以下行(id_day, id_hour, id_target):

In tableday id_day介于 1 和 5 之间(周一至周五)并且hour id_hour介于 1 和 6 之间(因此您可以想象一个day_hour具有 5*6=30 值的表)。

所以我想要查询id_target=1的空闲时间和id_target=2空闲时间(每个人的空闲时间)。所以我想要类似的:

(* 表示所有有效值id_hour,所以带 * 的每一行代表 6 个不同的行)

我该怎么做这个查询?

0 投票
2 回答
9692 浏览

java - 用于补充整数值的更好算法,不包括前导零二进制位

我将首先解释“补整数值不包括前导零二进制位”的含义(从现在开始,我将其称为非前导零位补码或 NLZ 补码)。

例如有整数92,二进制数是1011100。如果我们执行正常的按位非或补码,结果是:-93(有符号整数)或11111111111111111111111110100011(二进制)。那是因为前导零位也被补充了。

因此,对于 NLZ-Complement,前导零位不被补码,那么 92 或 1011100 的 NLZ-complementing 的结果是:35 或 100011(二进制)。该操作是通过将输入值与非前导零值的 1 位序列进行异或运算来执行的。插图:


我做了这样的java算法:

我需要一个建议如何优化上述算法,尤其是生成 1 位补码序列(oneBitsSequence)的行,或者是否有人可以提出更好的算法?

更新:我也想知道这个非前导零补码的已知术语?

0 投票
3 回答
238 浏览

python - 迭代列表中的(项目,其他)

假设我有一个列表:

如何遍历列表,从列表中获取每个项目及其补充项?那是,

会打印

理想情况下,我正在寻找可以在理解中使用的简洁表达式。

0 投票
3 回答
572 浏览

java - 理解java中的有符号数和补码

我有一个 3 字节的有符号数,我需要用它来确定 Java 中的值。我相信它是用一个人的补充签名的,但我不是 100% 确定(我已经有 10 多年没有研究过这些东西了,我的问题的文档也不是很清楚)。我认为我遇到的问题是 Java 在二进制补码中完成所有事情。我有一个具体的例子来展示:

  • 原始的 3 字节数字:0xEE1B17

  • 解析为整数 ( Integer.parseInt(s, 16)) 这将变为:15604503

  • 如果我对此进行简单的位翻转(~),我会得到(我认为)一个二进制补码表示:-15604504

  • 但我应该得到的价值是:-1172713

我认为正在发生的是我得到了整个 int 的二进制补码,而不仅仅是 int 的 3 个字节,但我不知道如何解决这个问题。

我能够做的是将整数转换为二进制字符串 ( Integer.toBinaryString()),然后手动将所有 0“翻转”为 1,反之亦然。然后解析这个整数 ( Integer.parseInt(s, 16)) 时,我得到非常接近的 1172712。在所有其他示例中,我需要始终在结果中加 1 才能得到答案。

任何人都可以诊断这里使用的是什么类型的有符号数字编码,以及是否有除了手动翻转字符串的每个字符之外的解决方案?我觉得必须有一种更优雅的方式来做到这一点。

编辑:所有响应者都以不同的方式提供帮助,但我的一般问题是如何翻转 3 字节数字,@louis-wasserman 回答了这个问题并首先回答了,所以我将他标记为解决方案。感谢大家的帮助!

0 投票
1 回答
1292 浏览

matlab - 一个集合中的元素不是另一个集合的元素(相对补集)

matlab,我怎样才能实现以下?

假设我有一些 setA和另一个 set B,它们都有一些元素。我怎样才能编写一个只返回不在B的值的函数(B 中 A 的相对补码?AB\A

谢谢。

0 投票
3 回答
7574 浏览

binary - 8 位 2 的补码 11010110 的十进制值是多少?

这更像是一个硬件问题,但我无法弄清楚这个问题。我以为是 214,但由于左边的第一位,我不太确定。

0 投票
1 回答
2888 浏览

binary - 使用一个或两个补码时符号位会改变吗?

我一直在为看似简单的概念而苦苦挣扎,但我似乎一直在组合和混合二进制转换。

如果给定一个二进制数并应用 1 的补码,则反转所有位。使 0 成为 1 和 1 成为 0。对于 2 的补码,您可以像 1 的补码一样反转位并加 1。

这是否意味着您从字面上反转所有位?出于某种原因,我一直认为所有位都应该反转,除了最左边的位(符号位)。这里有一些例子..有人可以告诉我我这样做是否正确吗?

1101001

1 的补偿:0010110

2 的补偿:0010111


01110101

1 的补偿:10001010

2 的补偿:10001011


011110110

1的补偿:100001001

2 的补偿:100001011


谢谢。

0 投票
2 回答
15420 浏览

regex - 查找正则表达式的补码

我的练习单上有一个问题要找到两个公式的补集

(1)(aa|bb)*

(2) (a|b)(aa|bb)(a|b)

在我看来,两者的补充是a* | b*指只有a's 还是 only b's?