bit-manipulation

    3熱度

    2回答

    我們的目標是能夠做到: struct.pack('!H', x) 但如果x大於65535那麼這將很明顯的原因而失敗。 我不是一個具有位操作的嚮導,但我知道<<操作將會丟失任何移位的位。但我不知道如何從binary/bytes字符串中提取一個或多個攜帶位,並將攜帶值添加到尾隨攜帶字節的兩個字節集合中。 而且我需要每次遍歷2個字節的字節串,並將它們與前兩個字節相加。有時候這會產生一個大於65535

    -1熱度

    1回答

    我入門學習更多關於AVR ATMEGA編程。 閱讀有關Arduinos的內部工作原理的文章,我學習了shiftOut方法是如何構成的。我是那種爲位操作的熟悉,到目前爲止,但我有一個表情我不明白尚未: void shiftOut(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder, uint8_t val) { uint8_t i;

    3熱度

    2回答

    我試過谷歌搜索,但找不到任何可理解的@。@ ... 有人能請外行解釋這個代碼中發生了什麼? 這是「破解編碼採訪」一書中的一個問題。 「寫一個程序,以儘可能少的指令交換整數中的奇數和偶數位(例如,位0和位1被交換,位2和3被交換,依此類推)」。 的方式我這樣做是不涉及位操作,因爲我無法弄清楚如何%\ ... def swap(n): b = bin(n)[2:] print(b

    0熱度

    1回答

    有一種簡單的方法來計算: (2^h)*ceil(i/(2^h)) 其中i和h是整數,沒有明確使用上限的功能? 例如,對於(2^H)*地板(I /(2^H))可以使用類似 i&-(1<<h) 不使用地板函數計算。

    7熱度

    6回答

    我需要改變圖像的背景顏色。圖像是一個帶有白色背景的圓形圖像,當您將鼠標懸停在圓形圖像上時,需要將圓形圖像的背景更改爲藍色。我只需要這個圈子就可以改變。 我的HTML代碼 <div class="fb-icon"> <a href="http://www.facebook.com/mypage" target="_blank"> <img src="images/fb_normal.png" a

    2熱度

    2回答

    我正在寫一個內存分配器,該分配器當前有一個位圖(uint8_t的數組),當分配請求出現時,我將位圖從0到n位依次掃描並搜索可以滿足要求的空間。 (位1表示頁面使用了0表示的頁面是空閒的)現在,不是一次只搜索一個空格,而是有技巧更快地掃描整個數組?即如果一個3頁的內存請求到達,我想一次搜索數組中的000模式,理想情況下無需循環? PS:我沒有使用std::bitset,因爲它不適用於我正在使用的編譯

    0熱度

    1回答

    我有一個選項設置與掩碼applicationReserved = 0x0F000000指示的4位範圍。由此,我想生成的可能值0x01000000,0x02000000,0x03000000,... 我已經想出一些可能的解決辦法,但我懷疑有可能是一個更清晰的表達莫過於: applicationReserved & -applicationReserved applicationReserved &

    3熱度

    4回答

    我最近一直在研究與利用生成位操作的子集完整搜索,所以我在下面的代碼絆倒: for(int b = 0; b < (1<<n); b++) { vector<int> subset; for(int i = 0; i < n; i++) { if(b&(1<<i)) subset.push_back(i); } //use subset here

    -1熱度

    2回答

    我寫了一個用於密碼和密鑰生成的散列函數,但很快就意識到能夠顛倒散列值是非常有價值的,所以我寫了一個相反的函數,但是它的工作量很大。我不明白爲什麼這個DOESNT工作。 function hash64(n:uint):uint { n = (~n) + (n << 21); n = n^(n >> 24); n = (n + (n << 3)) + (n << 8);

    2熱度

    1回答

    我使用的是ASP.NET Core,我知道這樣的日誌記錄機制已經由框架提供,但是使用它來說明我的問題。因爲我不知道日誌類型(因爲它存儲在數據庫中),所以我使用了一種Factory模式來構建Logger類。 的ILogger合同 Log(string msg) 隨後的LoggerFactory將根據PARAM從DB通過創建一個記錄器後返回ILogger: public class LoggerF