bit-shift

Czym są operatory bitowe przesunięcia (bit-shift) i jak działają?

Próbowałem nauczyć się C w wolnym czasie, i innych języków (C#, Java, itp.) mają tę samą koncepcję (i często te same operator ... co gotchas czają się za zakrętem? Innymi słowy, absolutny przewodnik dla początkujących do zmiany bitu w całej jego dobroci.

Co to jest operator > = w C?

Podane przez kolegę jako zagadka, nie mogę zrozumieć, jak ten program C faktycznie kompiluje i działa. Co to jest operator &g ... int a[2]={ 10, 1 }; while( a[ 0xFULL?'\0':-1:>>>=a<:!!0X.1P1 ] ) printf("?"); return 0; }

Jak to drukuje "hello world"?

Odkryłem tę dziwność: for (long l = 4946144450195624l; l > 0; l >>= 5) System.out.print((char) (((l & 31 | 64) % 95) + 32)); Wyjście: hello world Jak to działa?

Co to jest operator JavaScript> i jak go używać?

Patrzyłem na kod z Mozilli, który dodaje metodę filtrowania do tablicy i miał wiersz kodu, który mnie zdezorientował. var len = this.length >>> 0; Nigdy wcześniej nie widziałem >>> używanego w JavaScript. Co to jest i co robi?

Czy mnożenie i dzielenie za pomocą operatorów zmiany w C jest rzeczywiście szybsze?

Mnożenie i dzielenie można osiągnąć za pomocą operatorów bitowych, na przykład i*2 = i<<1 i*3 = (i<<1) + i; i*1 ... y pomnożyć przez 10 niż użyć i*10 bezpośrednio? Czy jest jakiś wkład, którego nie da się w ten sposób pomnożyć lub podzielić?

Jak działają operatorzy zmian w Javie? [duplikat]

To pytanie ma już odpowiedź tutaj: czym są operatory bitowe przesunięcia (bit-shift) i jak działają? ... 0000 100000000000000000000000 100 10000000000000 1000000000000000000000000 Czy ktoś mógłby to wyjaśnić?

Czy kiedykolwiek musiałeś używać bit shiftingu w prawdziwych projektach?

Czy kiedykolwiek musiałeś używać bit shifting w prawdziwych projektach programistycznych? Większość (jeśli nie wszystkie) języków wysokiego poziomu ma w sobie operatory zmiany, ale kiedy rzeczywiście trzeba by z nich korzystać?

Co oznaczają dwa nawiasy kątowe "<<" w C#?

W zasadzie pytania w tytule. Patrzę na kod źródłowy MVC 2: [Flags] public enum HttpVerbs { Get = 1 << 0, Post ... Put = 1 << 2, Delete = 1 << 3, Head = 1 << 4 } A ja jestem ciekaw, co robią dwa lewe Kątowniki.

Operatory bitowe i " endianess"

Czy endianness ma w ogóle znaczenie przy operacjach bitowych? Albo Logiczne czy przesunięcie? Pracuję nad pracą domową w ... n maszyny (jak większość są), ale czy to musi być brane pod uwagę, czy jest to zmarnowany fakt? W razie potrzeby używam C.

Dlaczego lewy bit-shift,"<<", dla 32-bitowych liczb całkowitych nie działa zgodnie z oczekiwaniami, gdy jest używany więcej niż 32 razy?

Kiedy piszę poniższy program i używam kompilatora GNU C++, wyjściem jest 1, co moim zdaniem wynika z operacji rotacji wykonyw ... eśli przepełniają szerokość bitów, wyjście powinno wynosić 0. Co się dzieje? Kod jest na ideone, http://ideone.com/VPTwj .

C get nth byte of integer

Wiem, że możesz uzyskać pierwszy bajt używając int x = number & ((1<<8)-1); Lub int x = number & 0xFF; ... o 32bitowa liczba całkowita Jak mogę zdobyć te wszystkie bajty? pierwszy będzie 210, drugi będzie 4, a dwa ostatnie będzie 0.

Co robi i 0xFF?

W następującym kodzie: short = ((byte2 << 8) | (byte1 & 0xFF)) Jaki jest cel &0xFF? Bo inne widze to napisane jako: short = ((byte2 << 8) | byte1) I to też działa dobrze?

Java" Bit Shifting " Tutorial? [zamknięte]

Zamknięte. to pytanie nie spełnia wytycznych dotyczących przepełnienia stosu . Obecnie nie przyjmuje odpowiedzi. ... na myśli (ale szukam tutoriala, który wyjaśni każdą możliwą operację): {]} byte b = (byte)(l >> (8 - i << 3));

Razy dwa szybciej niż bit shift?

Patrzyłem na źródło sorted_containers i byłem zaskoczony widząc ten wiersz : self._load, self._twice, self._half = load, ... a ze względu na kompletność, oto przykładowe ilustracje dla większych x, gdy optymalizacje mnożenia nie mają zastosowania.

Java: sprawdzanie czy bit jest 0 Czy 1 w długim

Jakiej metody użyłbyś do określenia, czy bit reprezentujący 2^x jest 1 Czy 0 ?

Po co używać operatora Bitwise-Shift dla wartości w definicji C enum?

Apple czasami używa operatora przesunięcia bitowego w swoich definicjach enum . Na przykład w CGDirectDisplay.h Plik będący ... typedef uint32_t CGDisplayChangeSummaryFlags; Dlaczego po prostu nie użyć inkrementacji int ' s jak w "normalnym" enum?

Potrzebujesz pomocy w zrozumieniu metody "getbits ()" w rozdziale 2 K & R C

W rozdziale 2, sekcja o operatorach bitowych (sekcja 2.9), mam problem ze zrozumieniem, jak działa jedna z przykładowych meto ... . (Co zweryfikowałem, zarówno kodem jak i Sprawdzam wyniki za pomocą calc.exe -- dzięki Bogu ma widok binarny!) Jakaś pomoc?

Java: przesunięcie w prawo na liczbę ujemną

Jestem bardzo zdezorientowany w prawej operacji zmiany liczby ujemnej, oto kod. int n = -15; System.out.println(Integer.toBi ... 111111111111111110001 11111111111111111111111111111111 Dlaczego prawo przesunięcie liczby ujemnej o 31 a nie 1 (bit znaku)?

Prawe przesunięcie liczb ujemnych w C

Mam kod C, w którym wykonuję następujące czynności. int nPosVal = +0xFFFF; // + Added for ease of understanding int nNegVa ... 535 >> 1 = (int) -32767.5 = -32768 To znaczy -32767.5 jest zaokrąglane do -32768. Czy to zrozumienie jest poprawne?