bit-manipulation 相关问题

个别位的操纵。使用的运算符可以包括按位AND,OR,XOR,NOT,左移和右移。

检查 php 中位字段是否打开的正确方法是什么

检查位字段是否打开的正确方法是什么 - (在 php 中)? 我想检查来自 db(mysql) 的位字段是否打开。 这是正确的方法吗? if($位&1) 是

回答 5 投票 0

在Java中测试偶数而不使用模运算符

我该如何在Java中做到这一点?判断一个数是否能被 2 整除,最后一位数字是否为偶数。 (0,2,4,6,8) 示例:128 是,129 不是

回答 8 投票 0

测试固定集是否相等且无分支

我有一组整数 (x, y, z) 和一个接受 3 个整数 (u, v, w) 的函数。如何测试 (x,y,z) == (u,v,w) 是否?天真的方法是: 布尔匹配 = (x == u || x == v || x == w) && (y ==...

回答 5 投票 0

快速 __m256i 位操作 - 查找或清除最高或最低设置位

我正在寻找快速代码来在 __m256i 上执行以下操作,并且希望得到帮助: 清除最低有效位(设置的最低有效位) 清除最高有效位(最

回答 1 投票 0

一些快速 __m256i 位操作 - 查找或清除最高或最低设置位

我正在寻找快速代码来在 __m256i 上执行以下操作,并且希望得到帮助: 清除最低有效位(设置的最低有效位) 清除最高有效位(最

回答 1 投票 0

如果没有设置位,则无分支方式设置所有位?

我正在寻找以下内容的无分支实现: int f(int c) { 如果(c==0){ 返回0xffffffff; // 设置所有位 } 别的 { 返回c; } } 我还没遇到过什么聪明的...

回答 1 投票 0

生成前缀位掩码

我正在寻找一种可移植的方法来生成前缀位掩码,其前 n 位设置为 0 <= n <= 32 (or 64 or an arbitrary integer type bit width). Examples: prefix_bitmask(0) =

回答 4 投票 0

如果设置了最低位,则有条件异或而不分支

我有三个无符号 32 位整数,即 a、b 和 c。如果b的最低位是1,我想将c与a进行异或,并将结果存储到c中。我们可以通过以下方式做到这一点: #包括 我有三个无符号 32 位整数,例如 a、b 和 c。如果b的最低位是1,我想将c与a进行异或,并将结果存储到c中。我们可以通过以下方式做到这一点: #include <cassert> int main() { // Some values for a and c unsigned a = 16; unsigned c = 25; unsigned b = 5; // 101_2 if(b & 1) { c ^= a; } assert(c == 9); } 我可以在没有分支的情况下有条件地执行此操作,即没有 if 语句吗? 有很多方法可以做到这一点。 这是另一个,没有乘法,只有 4 次运算。 c ^= a&(-(b&1)); 这应该有效 c ^= a * ( b & 1 ); 没有 if 语句并且没有分支,您必须检查编译器的程序集转储: c ^= ~((b & 1) - 1) & a;

回答 3 投票 0

QOI 指数哈希函数的按位加权和

我最近为 QOI 图像格式的 Rust 库做出了贡献。作为编码过程的一部分,编码器会跟踪已看到的 RGBA 像素值的数组。它计算我们的指数...

回答 1 投票 0

找到特殊子数组的数量,使得第一个和最后一个元素的按位异或等于子数组中所有其他元素的异或

给定一个整数数组,找到长度至少为 3 的子数组的数量,其中子数组中第一个和最后一个元素的按位异或等于子数组中其余元素的数量....

回答 1 投票 0

如何使用按位AND和按位NOT运算符检查冗余值? [已关闭]

我有下面的代码片段,可以使用按位运算符检查 RAM 冗余值 uint16 初始值 = (uint16)(myvalue_32bit & 0xFFFFu); uint16toggle_value = ~((uint16)(myvalue_32...

回答 1 投票 0

使用按位运算符实现除法

如何使用按位运算符实现除法(不仅仅是除以 2 的幂)? 详细描述一下。

回答 13 投票 0

另一种实施方式< in C

我无法编写正确的代码来返回 1 + x if x < 5, return 1 otherwise. Problem specifications: Return 1 + x if x < 5, return 1 otherwise (this ensures that 1<=x<=5)

回答 1 投票 0

如何在C中将二进制形式的1改为0

我不知道如何将x的二进制形式中的任何连续的1更改为0(连续的1意味着一组1包含多个1)。 问题规格: 允许的运算符: ! 〜&a...

回答 1 投票 0

如何在 C 中进行按位 XNOR

我在编写最多 7 个 ~ 和 | 的按位 XNOR 函数时遇到困难运营商。示例:bitXor(6, -5) = 2。如果没有 &,我该如何做到这一点? 到目前为止我有这个: int bitXnor(int x, int y) { 重新...

回答 1 投票 0

如何创建单字节5位的滑动窗口?

这是我想要发生的 5 位滑动窗口的视觉效果 换句话说,我想要一个 5 位的滑动窗口。我需要在一个字节中存储 5 个事件的历史记录。我用得最多的是 5 个

回答 1 投票 0

如何从 UUID 和盐字符串生成有符号的 32 位整数?

我不太了解我的小技巧,需要一些帮助。 我希望生成一个数字,用作 2 个不同脚本代理之间的一次性“通信通道”以进行同步...

回答 1 投票 0

Java:按位 OR 和 AND 比等效的逻辑运算符更快吗?

切干......虽然我从来没有足够的逻辑运算使它成为性能瓶颈 - 我想知道,使用按位与(&)和按位或(|)而不是相同的会更好-

回答 8 投票 0

公式 x & (x - 1) 是如何计算的?

来自《黑客之乐:第二版》: 这里的公式看起来有点尴尬。当 x 小于 1 时,如何从 1 个向量(大概是 0x1111 1111)中减去某个 x 向量? (如:(如...

回答 3 投票 0

生成所有n位数字,其中i位为0

我需要生成所有 2^(n-1) n 位数字,其中位 i 始终为 0,j 是可能数字列表中数字的索引。这是一个简单的表格,说明当 i 从 0 到 2 变化且 n 为 ...

回答 3 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.