问题标签 [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.
complement - 如何计算正数和负数的补码?
如果我用一个补码来表示数字,我应该得到什么结果?
比如数字01110(一个正数),它的补码应该是01110还是10001?
如果数字为 10001(负数),则补码值为 01110?
regex - 如何从两个文本文件中获取互补行?
如何从两个文本文件中获取互补行?
文件file1.txt
有
文件file2.txt
有
我想把所有的线都放进去file1.txt
而不是file2.txt
. 这两个文件有数百 MB 大,并且包含非 ASCII 字符。有什么快速的方法来做到这一点?
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 个不同的行)
我该怎么做这个查询?
java - 用于补充整数值的更好算法,不包括前导零二进制位
我将首先解释“补整数值不包括前导零二进制位”的含义(从现在开始,我将其称为非前导零位补码或 NLZ 补码)。
例如有整数92,二进制数是1011100。如果我们执行正常的按位非或补码,结果是:-93(有符号整数)或11111111111111111111111110100011(二进制)。那是因为前导零位也被补充了。
因此,对于 NLZ-Complement,前导零位不被补码,那么 92 或 1011100 的 NLZ-complementing 的结果是:35 或 100011(二进制)。该操作是通过将输入值与非前导零值的 1 位序列进行异或运算来执行的。插图:
我做了这样的java算法:
我需要一个建议如何优化上述算法,尤其是生成 1 位补码序列(oneBitsSequence)的行,或者是否有人可以提出更好的算法?
更新:我也想知道这个非前导零补码的已知术语?
python - 迭代列表中的(项目,其他)
假设我有一个列表:
如何遍历列表,从列表中获取每个项目及其补充项?那是,
会打印
理想情况下,我正在寻找可以在理解中使用的简洁表达式。
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 回答了这个问题并首先回答了,所以我将他标记为解决方案。感谢大家的帮助!
matlab - 一个集合中的元素不是另一个集合的元素(相对补集)
在matlab
,我怎样才能实现以下?
假设我有一些 setA
和另一个 set B
,它们都有一些元素。我怎样才能编写一个只返回不在B
的值的函数(B 中 A 的相对补码?A
B\A
谢谢。
binary - 8 位 2 的补码 11010110 的十进制值是多少?
这更像是一个硬件问题,但我无法弄清楚这个问题。我以为是 214,但由于左边的第一位,我不太确定。
binary - 使用一个或两个补码时符号位会改变吗?
我一直在为看似简单的概念而苦苦挣扎,但我似乎一直在组合和混合二进制转换。
如果给定一个二进制数并应用 1 的补码,则反转所有位。使 0 成为 1 和 1 成为 0。对于 2 的补码,您可以像 1 的补码一样反转位并加 1。
这是否意味着您从字面上反转所有位?出于某种原因,我一直认为所有位都应该反转,除了最左边的位(符号位)。这里有一些例子..有人可以告诉我我这样做是否正确吗?
1101001
1 的补偿:0010110
2 的补偿:0010111
01110101
1 的补偿:10001010
2 的补偿:10001011
011110110
1的补偿:100001001
2 的补偿:100001011
谢谢。
regex - 查找正则表达式的补码
我的练习单上有一个问题要找到两个公式的补集
(1)(aa|bb)*
和
(2) (a|b)(aa|bb)(a|b)
。
在我看来,两者的补充是a* | b*
指只有a
's 还是 only b
's?