bit-manipulation 相关问题

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


通常用于掩盖某些位,例如,

回答 4 投票 0

我如何在结构上进行位操作?

class test { public: test() : startTime(0), endTime(5,23) {} ~test(); struct dtType { // inline constructors with initialisation lists dtType() {dtType(0);} dtType(byte z) {dtType(z,z);} dtType(byte n,byte h) : mins(n), hrs(h){} // inline overloaded operator functions operator char() {return mins + hrs<<3;}; // allow casting the struct as a char // All I want to do is return (this & hrsMask == date & hrsMask) // I know that in this trivial case I can do return (hrs == date.hrs) but I have simplified it for this example. bool operator== (dtType date){return (char(this) & char(hrsMask)) == (char(date) & char(hrsMask));}; // data members unsigned mins: 3; // 10's of mins unsigned hrs: 5; // 8 bits }; const static dtType hrsMask; // initialised outside the declaraion, since a static is not associated with an individual object. dtType startTime; // initialised by test() in its initialisation list dtType endTime; // initialised by test() in its initialisation list }; // Typically in a source file, but can be in the header. const test::dtType hrsMask(0,31);

回答 2 投票 0

在haskell

为什么不是代码 导入data.bits a =(。&。)6 9 给我 9 有人可以向我解释为什么这不起作用。欢呼!

回答 2 投票 0



如何计算整数绝对值

如何在不使用IF条件的情况下计算整数绝对值。 我想我们需要使用一些位操作。 有人可以帮助吗?

回答 9 投票 0


快速算法将U8的位扩散到U64

看钻头的见解,以优化算法以将8位整数的位扩散到64位整数的每个位的LSB。例子: 0B10110011-> 0x0100010100000101 最好的...

回答 1 投票 0

golang

在软件包中golang.org/x/sys/windows/svc中有一个示例包含此代码: const cmdsaccepted = svc.acceptstop | svc.acceptshutdown | svc.acceptpauseandcontinue 管道是什么|

回答 4 投票 0


如何设置BitArray以基于值设置Specfic位?

我如何使用bitarray来做一些最基本的事情,将价值设置为位,而不仅仅是碎片!我开始后悔使用这种称为bitarray的废话。 说我有这样的位。 pu ...

回答 1 投票 0

为什么这个算术右移不能产生正确的结果?

我正在做 K&R 的练习 2-8: 编写一个函数 rightrot(x,n),返回整数 x 向右旋转 n 个位置的值。 我正在使用的实现似乎填写了...

回答 1 投票 0

在C语言中,假设表达式等于0,为什么!(表达式)也为0?

我的gcc版本是12.4.0。 代码如下: int x1 = 0x80000000; printf("%d ", x1 ^ (~x1 + 1)); printf("%d ", !(x1 ^ (~x1 + 1))); 我认为输出应该是 0 和 1,因为...

回答 1 投票 0

设置位直到某个索引

如何将整数的位设置为 1 直到某个索引? 我只能想到要么将总值计算为无符号整数,要么在循环中迭代: //有问题的索引 整数索引 = ...

回答 4 投票 0

对 32 位 int 中的位进行高效的种子随机洗牌?

是否有一种算法可以将 uint32 有效地洗牌到不同的 uint32 中,从而在给定可变随机种子时产生 1:1 映射? 我对此的最初方向是

回答 1 投票 0

不循环计算给定数字的负二进制表示

您能否提供一个令人信服的解释或数学证明来解释为什么以下函数计算给定数字的负二进制表示? 函数 QuickNegabinary(数字) { ...

回答 2 投票 0

是否可以仅使用按位运算符来测试数字是偶数还是“1”?

是否可以仅使用按位运算符来实现,即无需逻辑/比较/关系运算符? 这基本上等同于以下内容。 (a & 1 == 0) || (a==1) 我...

回答 5 投票 0

对于大的多头,右移无法正常工作

在移动字节时,有一些场景看起来没有意义,例如 printf("移位字节 %llx ",(((长长)1 << 63 ))>>1); 输出 c000000000000000,...

回答 1 投票 0

计算表示有符号整数所需的最小字节数

我的任务看起来很简单,我需要计算表示一个可变整数所需的最小字节数(例如,如果整数是5,那么我想返回1;如果整数是300...

回答 3 投票 0

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.