bit-manipulation

    0热度

    1回答

    提供了当代硬件,我想知道什么是我可以有效地(例如在1个CPU周期)perfrom按位操作的位阵列的最大尺寸。例如,对于64位处理器,我假设答案只是64.这是真的吗?我还能在GPU上获得多少资金?如果我想构建一个简单的ASIC,或者我能得到多少?

    -1热度

    1回答

    考虑下面的代码的2前面的电源: #include <string> #include <iostream> std::size_t preceding_pow2(std::size_t n) { std::size_t k = 1; while (k > 0 && k < n) { k <<= 1; } return k >> 1; }

    -1热度

    1回答

    我试着做了(2 << 31)的左移操作,但结果我得到的结果是0。我想知道为什么导致0以及(2 << n)中的最大范围n?

    1热度

    3回答

    我想增加颜色的亮度。 颜色保存为整数ARGB。不透明度应保持不变。 是否可以通过将每种颜色(RGB)乘以2来增加亮度? 所以当我的颜色是:0xFF010000我将如何位移它得到:0xff020000?

    1热度

    1回答

    我试图用+符号添加两个整数。我得到的想法是,无进位总和可以计算为a^b,并且进位可以计算为(a & b)< < 1. 0x7FFFFFFF是32位整数的最大值,但是掩码是做什么的?为什么carry和a必须在每次迭代中使用MASK进行修改?当结果大于MAX_INT时,〜((a & MAX_INT)^ MAX_INT)是做什么的? def get_sum(a,b): MAX_INT = 0x

    0热度

    2回答

    我有4字节的数据流,我知道什么时候我想分割它们,并将它们分配给不同的变量。请记住我收到的数据是十六进制格式。比方说, P_settings 4bytes p_timeout [6:0] p_s_detected[7] p_o_timeout [14:8] p_o_timeout_set [15] override_l_lv

    -2热度

    3回答

    我有一个非常简单的问题。 为什么XOR'用0编码时会给出数字本身。 有人可以举一个例子来举证。 可以说我有5 5^0==> 我想答案应该是公正的5 XOR'ed 0的最后一位数,但得到的答复仍然是5

    -1热度

    2回答

    int main() { unsigned n; cin>>n; for(int i=(1<<31);i>0;i/=2) (i&n)?(cout<<1):(cout<<0); } 我运行下面的代码与n = 1但它没有在控制台上打印任何东西。将变量i的类型更改为无符号的技巧并打印00000000000000000000000000000001.任何想

    14热度

    1回答

    我正在尝试为教育目的实施QM编码。我的主要资源是数据压缩手册第5版第5.11章。这是我粗略实现编码器的现在: def _encode_bit(self, bit): if bit == self._lps: self._code_lps() else: self._code_mps() def _code_mps(self): self._

    1热度

    1回答

    最近我一直在学习位运算符和沿途有这样的代码,发现使用AND(&)位运算符的十进制数的二进制数字,代码如下: byte b = -34; for(int t = 128;t > 0; t = t/2) { if((b & t) != 0)System.out.println("1 "); else System.out.println("0 "); System.out.println(