bit-manipulation 相关问题

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

使用汇编除以 2 的幂

我有这个任务: 除幂2 计算 x/2n,0 ≤ n ≤ 30。向零舍入。 参数 1:x 参数 2:n 例子: 除幂2(15,1) = 7 除幂2(-33,4) = -2 这就是我所拥有的所以...

回答 1 投票 0

将 std::uint64_t 编码为浮点数向量

我必须做一些肮脏的伎俩并在应用程序中传递 std::uint64_t 。不幸的是,我只能使用 std::vector 来实现这一点。 据我了解,大多数浮点数都是 32 位

回答 1 投票 0

如何找到 4 个没有重叠位的互补 24 位 RGB 颜色?

我正在寻找四种可区分的颜色,有些互补/视觉上有吸引力,并且没有任何共同点。我的意思如下: 仅考虑 u 的前 24 位...

回答 1 投票 0

Arduino 按位运行灯,具有单一延迟

我的任务是在 Arduino 上创建运行灯,并满足以下要求/约束 要求 使用 3 个 LED 实现所谓的“运行灯”。 每个LED的开启时间是...

回答 1 投票 0

如何对相同的值/变量执行按位“或”运算?

我试图理解同一变量本身发生的按位运算。 假设我有 2 个变量 x,它是 4 位 reg 类型, 如果我写 w_out<=(|x); you can take value of x...

回答 2 投票 0

从位位置整数数组设置/获取 __m256i 向量的 1 位

设置位: 给定一个数组 int inds[N],其中每个 inds[i] 是 [0, 255] 范围内的 1 位位置(并且所有 inds[i] 均已排序且唯一),我需要将 __m256i 的相应位设置为1. 有没有...

回答 1 投票 0

Mysql:用键异或字符串

我想用 KEY 对字符串(实际上是它的二进制表示形式)进行按位异或。 运算结果应以十六进制表示。 我拥有的: 'a' - 要更改的 UTF-8 字符串。 'ACF...

回答 2 投票 0

使用联合操作浮点位:查找适合浮点的正确 uint 类型

在 C 语言中,我见过这段代码用作操作浮点数的方法,具体到位: 联盟{ uint32_t 位; 浮点值; } 通过定义这种类型的变量,可以执行按位运算...

回答 1 投票 0

可以仅使用非按位运算来模拟按位算术“与”或“或”吗?

想象一下我们的任务是使用一个理想化的科学计算器,它具有以下属性: 不直接支持按位运算或基数转换(例如不能简单地“co...

回答 1 投票 0

78.LeetCode/子集问题 - 使用辅助函数接受解决方案,但否则会超出内存限制

我试图使用位操作技术解决LeetCode中等问题子集[链接(https://leetcode.com/problems/subsets/)。 首先我实施的解决方案如下: 类解决方案{

回答 1 投票 0

Java 中字节中的位循环

我正在尝试实现 SHA 3 规范中的 right_encode。 https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-185.pdf 在此输入图像描述 具体的部分我是

回答 1 投票 0

数字的二进制表示形式是否是交替位,例如。 10101010、1010 等

所以我必须找出一个数字的二进制表示是否是1和0交替出现。 期望时间复杂度和空间复杂度均为O(1) 我的想法是首先找到 1 的补码...

回答 1 投票 0

如何在C中仅使用按位运算符来检查值是否大于7?

对于这道题,如果参数大于7,则要求返回1,否则返回0。 例如,如果 x 为 8,则该函数将返回 1。如果 x 为 7,则该函数将返回 0。 唯一合法的

回答 3 投票 0

Golang 对按位非运算产生奇怪的结果

包主要 导入“fmt” func SingleZeroBitAtRightMostOneBitPosition(n int) int { 返回 ^n | (n-1) } 函数主() { fmt.Println(SingleZeroBitAtRightMostOneBitPosition(128)) ...

回答 1 投票 0

通过将 2 除以减一来移位

在Java中,我试图通过除以2而不是右移(>>1)来将整数的位右移一位,并遇到了这个问题,-1(负数)无法正确移动......

回答 1 投票 0

C 宏获取大于给定数字的最小二的幂

我需要一个 C 宏来获取大于给定数字的 2 次方的最小值。 例如,FIRSTFREEBIT(0x16)(二进制 1_0110)必须等于 0x20。 我将把它用作: #包括 我需要一个 C 宏来获得比给定数字大 2 的最小幂。 例如,FIRSTFREEBIT(0x16)(二进制 1_0110)必须等于 0x20。 我将把它用作: #include <someheader.h> // defines SOME_X and SOME_Y enum { x = SOME_X, y = SOME_Y, z = FIRSTFREEBIT(x|y), t = z << 1, }; 一个类似但略有不同的SO问题: 查找大于或等于给定值的最小二幂的算法 这是我的代码,欢迎您发明更好的东西: #define __OR_RSHIFT__(n,x) ((x)|(x)>>n) #define FIRST_UNUSED_BIT(x) (1+__OR_RSHIFT__(16,__OR_RSHIFT__(8,__OR_RSHIFT__(4,__OR_RSHIFT__(2,__OR_RSHIFT__(1,x)))))) 查看 __builtin_clz GCC 内在函数。它将为您提供前导零位的数量,可用于确定第一个位集的位置。然后左移 1,乘以位置。 这是一个利用 GCC _builtin_clz 函数的编译时解决方案: // Lowest Power of 2 greater than or equal to x. Assumes integer x greater // than 0 #define LPO2(x) (1<<((sizeof(x)*8)-__builtin_clz(x-1))) int main() { printf("%d\n", LPO2(7)); // => 8 printf("%d\n", LPO2(8)); // => 8 printf("%d\n", LPO2(9)); // => 16 }

回答 3 投票 0

“分支”在设置/重置位方面意味着什么?

在一次采访中,他们问我,你如何设置或重置一点?这是一个非常简单的问题,我回答了。 之后他们问我如何在不分支的情况下做到这一点。我不知道什么分支...

回答 2 投票 0

优化伽罗瓦域算术中的 y = x*x

我有这个 C 代码来对 GF(8) 进行乘法: int32_t 伽罗瓦乘法 (int32_t a, int32_t b) { int32_t 我; int32_t掩码=0x100; int32_t y = 0; 对于(i=0;i<8;i++) { ...

回答 7 投票 0

Python 按位运算非常慢

我有一个依赖于我编写的按位运算的公式(见下文)。我希望循环 3 个维度并将该公式应用于每个元组以生成密钥。 然而,下面的代码...

回答 1 投票 0

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

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

回答 5 投票 0

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