bit-manipulation

    0熱度

    1回答

    子集位口罩我有兩套 - 設置1 - {I1,I2,I3 ... IN1} 設置2 - {K1,K2,K3 ... KN2} 對於任何一組n項,我可以使用位掩碼0-2^n -1表示所有可能的子集。 同樣如何表示 - set1和set2的所有可能的子集,其中至少1項來自不同的集合。 例如 {I1,I2,K1}是有效 但{I1,I2} - 無效的,因爲它沒有從SET2項。 我想產生兩件事情 - 一個方程

    0熱度

    4回答

    有沒有更簡單的方法來這個在python中? if byte is 1: return 0 if byte is 2: return 1 if byte is 4: return 2 if byte is 8: return 3 if byte is 64: return 4

    0熱度

    2回答

    我試圖找出它,但仍然卡住。 比方說,我們有十進制數13(1101在二進制)。在無符號的情況下,我們需要至少4位來表示它(1101,因爲它是),但是在2的補碼符號中,我們需要5位,MSbit設置爲0,因爲13是正數?我知道在2的補碼中,MSbit表示值(+或 - )的符號。那麼它會是01101? 另外,如果MSbit爲0,那麼這個數字在單數2的補碼中仍然是相同的,但是如果它是1,那麼將是As = A

    0熱度

    3回答

    我一直在尋找的ArrayDeque.contains(Object o)的源代碼時,我發現這個實現: /** * Returns {@code true} if this deque contains the specified element. * More formally, returns {@code true} if and only if this deque contains

    -2熱度

    1回答

    我知道(10001010<<2) = 00101000 這(10001010>>2) = 00100010 的時候我只有一個有點像這樣 (1<<5) and (1>>5)

    0熱度

    3回答

    正如它自己所說的問題 - 按位左運算符給出了錯誤的答案。 這裏是我的代碼 - #include <iostream> #include<cmath> using namespace std; int main() { unsigned long long int a,b; a=pow(2,60); b=1<<60; cout<<a<<endl<<b<

    2熱度

    1回答

    我嘗試生成正交信號,但操作可能最低。我使用STM32和GPIO引腳B8和B9來發送信號。 引腳8和9的幾個引腳有四種可能的選項: 0/0 1/0 1/1和0/1 和逆時針 0/0 0/1 1/1 1/0 I無法按位尋找方式以便能夠快速設置或重置選定引腳的位。此外,我必須能夠進行時鐘或反向旋轉,並隨時改變感覺,如果它是旋轉或線性編碼器。 謝謝您的幫助

    -1熱度

    1回答

    我想知道是否有人可以請我解釋爲什麼&該代碼的工作原理,將-1.0和+1.0之間的雙精度轉換爲14位整數。 data14中的值如何選擇,以及幕後發生了什麼? double data = 0.5; if (data < -1.0) { data = -1.0; } else if (data > 1.0) { data = 1.0; } int data14 = (in

    2熱度

    3回答

    _mm256_blendv_pd()查看位置63,127,191和255中的位。是否有有效的方法將uint8_t的4個低位分散到AVX寄存器的這些位置? 或者,是否有一種有效的方式來廣播這些位,這樣就像_mm256_cmp_pd()的結果一樣,在AVX寄存器的相應64位組件中重複每個位? 指令集是AVX2(Ryzen CPU,如果需要其他功能的話)。

    -6熱度

    1回答

    的 在下面的代碼給出輸出-1。 #include <iostream> using namespace std; int main() { int x=0; cout<<~x; return 0; } 但是,當我做如下修改答案更改4294967295。 只是想知道,爲什麼在INT它是不是給-2147483647這是111 .... 32倍 #include