bitwise-operators

Jak ustawić / wyłączyć bit w określonej pozycji długiej?

Jak ustawić / wyłączyć bit w określonej pozycji długiego w Javie ? Na przykład, long l = 0b001100L ; // bit representation ... i 3, więc odpowiadający mu long będzie, long l = 0b001010L ; // bit representation Czy ktoś może mi pomóc Jak to zrobić ?

Bitowe mnożenie i dodawanie w Javie

Mam metody, które robią zarówno mnożenie, jak i dodawanie, ale po prostu nie jestem w stanie ogarnąć ich. Oba są z zewnętrzny ... działa (może podstawy matematyczne?). Edit: to nie jest praca domowa, ja tylko staram się nauczyć bitowych operacji w Java.

Po co używać operatorów logicznych, skoro operatory bitowe robią to samo?

Rozważmy ten warunek: (true & true & false & false & true) == true //returns: false Jak widać, bitowe i z ... wydajnością, ponieważ w Mozilli Firefox jest to znacznie szybsze, zobacz ten jsPerf: http://jsperf.com/bitwise-logical-and

Nie (~) vs negacja(!)

#include <iostream> using namespace std; int main(int argc, char *argv[]) { int i=-5; while(~(i)) { co ... tnich i ujemnych i ' S z wyjątkiem 0. while(!i) vs while(~i) Dla jakich wartości 'i' zostaną wykonane powyższe dwie pętle?

Operator bitowy do prostego przerzucania wszystkich bitów w liczbie całkowitej?

Muszę zamienić wszystkie bity w binarną reprezentację liczby całkowitej. 10101 Wyjście powinno być 01010 Jaki jest op ... n);, co byłoby w ciele? Muszę odwrócić tylko to, co jest już obecne w liczbie, a nie wszystkie 32 bity w liczbie całkowitej.

Dlaczego dopełniacz zachowuje się inaczej poprzez printf?

Czytałem rozdział o operatorach bitowych, natknąłem się na program operatora uzupełniającego 1 i postanowiłem uruchomić go na ... ukować wartość ~c. int main () { unsigned char c=4; printf("%d\n", ~c); } Daje wyjście -5. Dlaczego nie zadziałało?

dlaczego -3= = ~2 W C#

Nie mogę zrozumieć. Dlaczego wyjście jest "równe" Kod: if (-3 == ~2) Console.WriteLine("equal"); else Console.WriteLine("not equal"); Wyjście: equal

Why (int)((unsigned int) ((int) v)?

Strona na której znalazłem ten kod int v, sign; // or, to avoid branching on CPUs with flag registers (IA32): sign = -(int ... iennej ze znakiem zmiennej v (albo -1 albo 0). Ciekawe dlaczego (int)((unsigned int)((int)v) jest używane zamiast zwykłego v?

Znak rury w Pythonie

Widzę znak" pipe " (|) używany w wywołaniu funkcji: res = c1.create(go, come, swim, "", startTime, endTime, "OK", ax|bx) Jakie jest znaczenie rury w ax|bx?

Dlaczego przesunięcie o 0 obraca liczbę dziesiętną?

Ostatnio znalazłem ten fragment kodu JavaScript: Math.random() * 0x1000000 << 0 Zrozumiałem, że pierwsza część gene ... s języka JavaScript, czy też występuje również w innych językach? Myślałem, że rozumiem przesunięcie, ale to mnie zastanawia.

/ align = "left" /

Nie jestem w stanie zrozumieć co robi to makro. Są one zdefiniowane w linux-kernel, ale moje wątpliwości są od tego niezależn ... __ALIGN_MASK(x,(typeof(x))(a)-1) #define __ALIGN_MASK(x,mask) (((x)+(mask))&~(mask)) Każda pomoc mile widziana.