9得票1回答
在使用 unsigned char 上的运算符<<= 时出现 -Wconversion 警告

当我使用gcc编译以下代码时: int main() { unsigned char c = 1; c &lt;&lt;= 1; // WARNING ON THIS LINE return 0; } 我得到了这个警告: 将int转换为unsigned char可能会改...

7得票1回答
检查一个bitset是否包含另一个bitset的所有值

我正在尝试创建一个实体/组件系统,它能自动匹配合适的实体和合适的系统。我使用了std::bitset和RTTI来自动分配每个组件类型的位值。 系统定义如下:MovementSystem : System&lt;Position, Velocity&gt;。 在这个例子中,MovementS...

135得票9回答
什么是位运算符?

我是一个纯属出于兴趣编写代码的人,没有在学术或职业环境中深入研究过它,所以这些位运算符之类的东西真的让我无从下手。 我正在阅读一篇关于JavaScript的文章,其中提到了该语言支持按位运算。我一直在看到这种操作被提及,我试图阅读了解更多关于它是什么的信息,但似乎完全不理解。那么它们是什么?...

9得票1回答
在JavaScript中,是否可以使用类型化数组将4个Uint8转换为Uint32?

我正在一个项目中进行一些位操作,我想知道内置的类型化数组是否可以帮我省去一些麻烦,甚至能否为我提供一些性能上的优势。 let bytes = [128, 129, 130, 131] let uint32 = (bytes[0] &lt;&lt; 24) | (bytes[1] &lt;&l...

10得票1回答
Java字符串比较使用位异或

我在某个产品的代码中发现了下面的代码片段。它使用按位异或进行字符串比较。这种方法是否比String.equals(Object o) 更好?作者在这里想要实现什么?private static boolean compareSecure(String a, String b) { ...

9得票5回答
我可以使用位运算符代替逻辑运算符吗?

位运算符作用于位,逻辑运算符评估布尔表达式。只要表达式返回bool,为什么不使用位运算符代替逻辑运算符呢? 在这个例子中,我使用位运算符而不是逻辑运算符: #include &lt;iostream&gt; int main(){ int age; std::cin ...

25得票4回答
几乎恒定时间旋转,不违反标准。

我正在努力想出一个常数时间旋转的方法,而不违反C/C++标准。 问题在于边缘/角落情况,算法中指定了操作,这些算法无法更改。例如,以下来自Crypto++,并在GCC ubsan下执行测试套件(即g++ fsanitize=undefined): $ ./cryptest.exe v | ...

9得票3回答
以最快的方式循环每个数字并满足条件。

给定一个64位整数,其中要评估最后52位并忽略前12位,如何以最快的方式循环每个7位开启和所有其他位关闭的组合? 例如: 第一个排列: 0[x57]1111111 最后一个排列 00000000000011111110[x45] 0[xn] 表示 n 个(零)比特位。 速度非...

14得票3回答
PHP中对大型字符串进行位运算操作

以下是我的问题。我目前正在尝试在 PHP 中实现一些密码学标准以实现兼容性。我正在处理的标准是 SHA256 和 SHA512。它们都是相当简单明了的标准,我没有遇到问题。 但是,SHA512 需要对 64 位整数进行位运算。由于 PHP 只能具有 32 位整数(使用编译),这给我留下了一个...

7得票3回答
使用位运算符将两个整数相加时出现无限循环?

我正在尝试使用Python代码解决一个问题,需要我在不使用“+”或“-”运算符的情况下添加两个整数。我有以下代码可以完美地处理两个正数: def getSum(self, a, b): while (a &amp; b): x = a &amp; b ...