cost 102 ms
将 colors 与 C 中的位域与按位运算符混合? - Mixing colors with bitfields in C with bitwise operators?

我正在阅读关于位域的 Wikipedia 条目,看到如何使用二进制数来表示主要的 colors 并使用按位或 ( | ) 运算符组合它们。 我想检查一种颜色是否包含在另一种颜色中。 我明白为什么会这样,但是是否有按位运算或其组合可以达到我想要的结果? ...

如何仅使用 C 中的按位运算符来检查值是否大于 7? - How to check if values are greater than 7 by only using bitwise operators in C?

对于这个问题,它要求如果参数大于 7 则返回 1,否则返回 0。 例如,如果 x 为 8,则 function 将返回 1。如果 x 为 7,则 function 将返回 0。 唯一允许的合法运算符是 (, ~ & ^ | + << >>),它禁止使用任何其他内容, ...

如何仅通过在 C 中使用按位运算符将 integer 乘以负二? - How can I multiply an integer by negative two by only using bitwise operators in C?

对于赋值,我需要通过仅使用 (. ~ & ^ | + << >> ) 的二元运算符来复制 (-2 * x) 的 C 表示的效果,这意味着不使用循环,if 语句。 等,我们可以假设系统使用 2 的补码和 32 位整数表示,执行算术右移。 并且在将 integer 移动 ...

从字节数组中提取位 - Extract bits from a byte array

我正在尝试制作一个 function,它从字节数组中提取位并从中返回十进制 output。 这些是我为此使用的功能。 例如,我会这样称呼它: 在大多数情况下,此功能在位(开始和结束)时工作正常。 但是当我尝试读取数据位于两个不同字节中的位时,它会失败。 这是我将使用的块的一些视图: 例如: 这有效并 ...

负数按位运算结果的位长是如何计算的? - How is the bit length of a result of a bitwise operation for negative numbers calculated?

在以下操作中如何确定结果中的值位数: ? 因此,看起来按位 AND 会导致两个操作数之间的值位数最多,而按位 OR 会导致两个操作数之间的值位数最少。 然而,按位异或完全没有意义。 第二个最低位是如何设置为 0 的? 为什么值位数大于任一操作数中的值位数? ...

如何通过将最后一位设置为 1 来“标记”指针? - How to "mark" pointers by setting the last bit to 1?

我正在尝试标记和取消标记指针,以便我可以实现非阻塞链表。 我检查了我的体系结构中最后一位从未使用过,所以我试图使用更改它来标记/取消标记指针。 我正在尝试执行 OR 以将最后一位设置为 1,执行 AND 以取消设置它并执行 AND 以检查它是否设置为 1。问题是当我对指针执行按位(注释的宏)操作时 ...

当我在C对integer 1进行按位翻转运算时,得到-2而不是4294967294,如何得到4294967294? - When I do bitwise flip operation in C on integer 1, I get -2 and not 4294967294, how can I get 4294967294?

这是新手 HackerRank 问题之一,它要求翻转由 32 位表示的 long 的位,并返回值。 例如: 1表示为:00000000 00000000 00000000 00000001 ~ 运算符翻转它的位。 所以 ~1 = 11111111 11111111 11111111 11111 ...

java的if条件中的按位运算符必须写在括号内。 为什么会这样? - Bitwise operator in java's if condition has to be written inside parentheses. Why is it so?

在 Java 的 if 条件下,我似乎无法像其他运算符(例如% 、 / 、 +等)一样在没有括号的情况下编写按位运算符(例如& )。import java.util.*; public class alpha{ public static void main(String arg ...

SQLite 主键为两列时 DELETE 变慢 - SQLite DELETE slow when primary key is two columns

我有一个 SQLite 表,定义如下: 我在大型事务中执行的内部循环操作之一是: 此操作似乎是我的应用程序的瓶颈。 当我运行 strace 查看应用程序在做什么时,我看到它对数据库文件进行大量连续的 1024-KiB pread64调用,这表明删除实际上可能需要对表进行线性扫描,而不是简单的索引抬头 ...

*** 检测到堆栈粉碎 ***:已终止 - *** stack smashing detected ***: terminated

我是初学者,正在使用 Arrays 开关盒和 arrays 概念编码循环,使用 arrays 对二进制数进行一些操作在这里,我能够按预期获得 output,但我无法弄清楚 *** 的问题检测到堆栈粉碎 ***:已终止。 这是在 output 的末尾,我不知道为什么; 有人可以帮我吗? 请告诉我错误 ...

如何对不同大小的位集进行位运算? - How to perform bitwise operations on bitsets of different sizes?

有没有办法对两个不同大小的std::bitset执行按位运算? 类似于此: 对于上面的示例,我基本上想将所有 8 位payload传输到segment的低位。 如果无法做到这一点,我还有哪些其他选择? 我是否应该编写一个 for 循环,使用下标operator[]来逐位传输? ...


 
粤ICP备18138465号  © 2020-2025 STACKOOM.COM