bitwise-and

    1熱度

    1回答

    我想優化我的國際象棋程序。我使用ulong位面板來生成合法移動,因爲我認爲它會非常快。然而,Profiler表明,大部分時間都花在按位AND操作上(包含20%以上的樣本,如下所示;分析進行了幾次,結果相同)。 配置代碼已優化x64,在VMWare Player(Windows 7 guest,Debian主機)上運行。我無法讓Mono Profiler查看它是否產生相同的結果,但Mono在Linu

    0熱度

    1回答

    我試圖按位計算|只使用&和〜。 int main() { int num1 = 3; int num2 = 6; printf("%d\n",num1|num2); num1 = ~num1; num2 = ~num2; printf("d\n",num1); printf("d\n",num2); int

    0熱度

    1回答

    我正在做c類型(u8,s16,u32,..) - 對於java轉換(只是一個包含布爾型符號和長整型值的類)。當然還有位數的長度。 因此,例如:u8 signed = false length = 8; 然而在轉換的類型爲int [] 有是這樣的: int[] ret = new int[length/8]; for (int i = 0; i < ret.length; i++) {

    1熱度

    1回答

    我得到了一個算法,其目標是給出Integer數組中所有組合的所有可能的總和。 private void arraySumPermutation(int value ,int[] arr){ int N = arr.length; for(int i=0;i<1<<N;i++){ int sum = 0; for(int j=0;j<N;j++)

    1熱度

    1回答

    我想了解我已拆卸的程序。到目前爲止我對此有所瞭解。 但是,我不明白爲什麼程序AND'ing與0x7F整數。 它也喜歡AND與0xFF的整數。該程序是一個隨機數發生器。 這實現了什麼? 我認爲與0xFF AND'ing採取較低字節(的寄存器),並放棄其餘? 具體地,在MIPS ASM: ## r2 = 0xfd r3 = 0x10 ## andi r2,r2,0x00ff # What? Wh

    2熱度

    4回答

    我需要使用只有~和|, ,使功能f(6, 5)將返回4作爲答案。

    3熱度

    2回答

    所以我想知道是否/如何在Java中的字節數組上使用AND操作? 我已經看到了如何使用和操作整型,像這樣的樣本: int bitmask = 0x000F; int val = 0x2222; // prints "2" System.out.println(val & bitmask); 但說我有一個字節數組,像... byte[] byteArray = new byte[1];

    2熱度

    2回答

    我是新來的位運算符,我不知道什麼是他們使用了,但我知道以下幾點: 5 & 3 = 1 因爲 0101 & 0011 = 0001 所以,是的,我明白,我們乘的每一位對像1 x 0 = 0,1 x 1 = 1和0 x 0 = 0 現在,當涉及到編碼,我發現下面的代碼onTouchEvent: @Override public boolean onTouchEvent(MotionEvent

    6熱度

    3回答

    我正在使用BitWise AND運算符在JavaScript中。 我有兩個32位nunber 4294901760 (11111111 11111111 00000000 00000000) and 4294967040 (11111111 11111111 11111111 00000000) 當我和他們按位4294901760 & 4294967040我-65536結果雖然結果應該是4

    3熱度

    3回答

    在下面的Java程序我也不懂這行做了什麼: wert = (wert * mult + inkr) & 0x7FFFFFFFL; 我明白什麼是位運算符的條件下做的,但也有主要兩個數字(十六進制是Java中整數的最大值)。我不明白,爲什麼& 0x7FFFFFFFL;在這條線上甚至有一些影響力。在我看來,變量wert的值應該是(wert * mult + inkr),因爲這是真的。 雖然我想通了&