问题标签 [bitwise-and]
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.
c# - 枚举标志检查标志总是返回真
我一定是在做一些非常愚蠢的事情,但我看不出是什么。在我有一个简单的控制台应用程序中;
然后
我的问题 X 最后应该为零,但始终为 1。据我了解,它应该做一些明智的 AND 操作并检查是否有 singleleagueSelected 并返回 false。
这很奇怪,我所有的谷歌搜索都说这很简单而且很有效,但对于我的生活来说,我无法得到它。/羞愧地低着头。
c - 在C中提取双精度的最右边N位
我有一些自然的双倍大数字。我需要得到它最右边的 30 位(不可分割的部分)。如果它是整数,则操作是:
我可以为此目的实现一些功能,但我需要一些简单的解决方案。有吗?
*编辑:
所有的答案都不适合我。我将尝试解释:例如,我有双 x = 9362446620820194.0000,该数字的整数部分的最右边 30 位是数字 957350626。
我可以使用 uint64_t 而不是 double,但我需要支持 32 位系统。
ps 我的意思是简单的二进制数表示,而不是机器(内存)
javascript - 位运算符在 2^31 后停止工作
说我有这个:
然后如果我运行它,它会打印出我可以吃饭、睡觉和玩耍。它不会打印出我可以成为耶稣,因为那个数字是 2^70。如果我将数字设为 2^31,那么它将起作用(我在 64 位机器上,但在运行上述示例时必须在 32 位模式下运行 Chrome)。
在处理位运算符时,我也一直在 PHP 中遇到这个问题。通常我可以根据我所处的场景来实现它,所以我的列表中最多有 31 或 63 件事情并不是什么大不了的事,但有时我需要的远不止这些。有没有办法绕过这个限制?位运算符是如此快速和方便。
c++ - 如何在 C++ 中保存大于 64 位的整数?
我想存储长度大于 64 位的整数。随着每个条目添加到应用程序中,每个整数的位数可以达到数百万。然后对于 64 个这样的整数(等长),必须执行按位与操作。
那么,什么是最佳的 C++ 数据结构以使操作具有时间效率?早些时候我考虑过它的向量,因为它可以动态增加长度。其他选择是使用 std:bitset。
但我不确定如何使用这两种方法执行按位与运算,以便以最省时的方式完成。
谢谢
hibernate - Hibernate:执行“按位与”运算的最佳方法是什么?
我的项目我使用hibernate(3.5.6)与db交互。我使用DetachedCriteria和projections API来形成我的一般查询。
现在我想对值执行“按位与”运算。我可以使用相同的方法来执行“按位与”运算。如果不是,最好的方法是什么?
提前致谢。
java - Java 中 value 和 0xff 有什么作用?
我有以下 Java 代码:
打印时的结果是 254,但我不知道这段代码是如何工作的。如果&
运算符只是按位的,那么为什么它不会产生一个字节而是一个整数呢?
java - String.equals() 在二进制数上按位与更改
在 Java 中,使用二进制字符串(例如“00010010”,在为我的程序创建这些二进制字符串时,在开头添加零)。我有这个功能
它检查二进制字符串 J 是否包含在二进制字符串 superSets 的列表中。
我用equals()
在 String 对象上使用,但我想通过将二进制字符串转换为二进制数并执行按位运算 AND 来查看它们是否相等来加速此代码。
你能给我一些关于如何实现这一点的技巧吗?
c++ - 按位运行和
这个问题是在采访中被问到的,有人能说出下面的代码是做什么的吗?它为 150 提供输出 15,为 160 提供 3,为 15 提供 15。它在“n”上执行什么数学运算。
c - C - 仅使用 & 和 ~ 计算位或
我正在尝试按位计算 | 只使用 & 和 ~。
这是输出:
我想弄清楚为什么~num1
输出d
?
java - 按位与非布尔值
在以下 Java 程序中,我无法理解这一行的作用:
我了解按位运算符在条件下的作用,但主要有两个数字(十六进制是 Java 中整数的最大值)。我不明白,为什么& 0x7FFFFFFFL; 甚至在这一行也有一定的影响力。在我看来,变量wert应该只是具有(wert * mult + inkr)的值,因为它是真的。虽然我发现& 0x7FFFFFFFL; 显然只有当(wert * mult + inkr)为负时才会产生一些影响。为什么以及在这一行中究竟发生了什么?
注释:这应该是一个模拟抽奖的程序。我知道程序中的错误,就在注释所在的位置。但这与我现在无关。如果有人能告诉我以下不是真正特定于 Java 的问题,那就太好了:变量mult和inkr有什么意义?