bit-manipulation

    1熱度

    2回答

    對於我正在處理的程序,我需要將地址四捨五入爲距離最近的8字節邊界4個字節。也就是說,必須修改地址,使其以0x4或0xC結尾,並且大於或等於其當前值。每個地址是一個64位整數,指向內存中的單個字節(sizeof(*addr) = 1)。地址保證是無符號的。 我知道最接近的8字節邊界可以通過下面的代碼片段找到,簡單的答案是簡單地將0x4加到該值,但是這會導致一些高估該值的問題。 #define ali

    2熱度

    1回答

    假設我有類型INT32兩個原子變量,我可以代替選擇代表他們作爲std::atomic<int64> both並保留前32位爲我的第一個和最後對我的第二個INT。 這似乎是在x64架構相當空間&節省時間,更何況它能夠支持各種各樣的妖術,因爲人們可以通過各種操作的抽象,讓他們原子: first == a && second ==b 變得 both == (int64(a) + int64(b) <

    4熱度

    2回答

    我可以在http://hackage.haskell.org/package/base-4.7.0.0/docs/Data-Bits.html#v:bit看到如何從一個Int轉換,N,到了第N位設置的位,使用 bit :: Int -> a 但是,我該怎麼辦的逆這個? (假設輸入位只有1位置位?)

    3熱度

    1回答

    在java中,來獲得1和0的序列中的二進制數的形式,你可以做以下 (-1 << (4)) 同時會給我結果 11110000 既然python不支持signed int,那麼在python中這樣做的等效方式是什麼?理想情況下,我寧願在沒有任何外部庫的情況下執行此操作。

    2熱度

    1回答

    我想知道如何將下面的Java代碼實現到它的Python等價物中。 在Java中,我採取了許多,並通過與第0指數使用逐運營商清理一些指數位(含) int clearBitsIthrough0(int num, int i) { int mask = (-1 << (i + 1)); return num & mask; } 我在相當於Python代碼嘗試低於 def cle

    2熱度

    1回答

    對於較大的任務的一部分,我被要求實現一個函數,翻轉一個整數的任意位。問題是「整數」可能是c中的任何默認整數類型,從int8_t到uint64_t,我不知道它會是哪一個。 (事實上​​,我的代碼已經在所有這些類型的測試) 這是我的問題的嘗試: //NOTE: g_int is the generic integer, it's typedef'd in a .h file g_int flip_b

    0熱度

    2回答

    這段代碼是我在用結合4 2位值(無符號的字符,但他們只保持0-3值)到1個單無符號字符值 unsigned char nibble = 0; nibble = (nibble & 0x03) | (output[i] & 0x03); nibble = (nibble & 0x0C) | (output[i+1] & 0x03) << 2); nibble = (nibble & 0x30

    0熱度

    1回答

    雖然試圖想出一個位板類的方案,我決定使用全局編譯時間變量來表示關鍵位板配置,例如。所有黑車的初始位置。 constexpr uint64_t BLACK_ROOK_INIT = 0x1 | (0x1 << 56); 但是我收到編譯器錯誤。編譯器似乎將此值視爲32位值並進行類型轉換,或者添加其他0似乎沒有什麼區別。類型定義來自。 只要我從這個表達式中刪除constexp就會編譯,但是仍然會產生相

    0熱度

    3回答

    我使用flex的videoplayer類播放flv視頻。 (它的所有屬性都是在運行時設置的) 我想在不點擊全屏按鈕的情況下製作視頻全屏,即通過編程。 這是可能的。如果是的話,我該怎麼做。?

    42熱度

    5回答

    使用django上傳服務器上的唯一文件名時,使用django上傳照片的最佳方式是什麼?我想確保每個名字只使用一次。是否有任何pinax應用程序可以做到這一點,也許與GUID?