Jak ustawić, wyczyścić i przełączyć
Manipulacja pojedynczymi bitami. Użyte operatory mogą obejmować bitowe AND, OR, XOR, NOT, left-shift i right-shift.
Jak ustawić, wyczyścić i przełączyć
W wolnym czasie próbowałem nauczyć się języka C, a inne języki (C #, Java itp.) Mają tę samą koncepcję (i często te same operatory) ... Zastanawiam się co jest na poziomie rdzenia, co czyni nieco przesunięcia ( <<, >>, >>>) zrobić, jakie problemy może pomóc rozwiązać i jakie...
8 bitów reprezentujących liczbę 7 wygląda następująco: 00000111 Ustawione są trzy bity. Jakie są algorytmy do określania liczby ustawionych bitów w 32-bitowej liczbie
Jestem na kursie systemów komputerowych i częściowo zmagam się z Two's Complement . Chcę to zrozumieć, ale wszystko, co przeczytałem, nie przyniosło mi tego obrazu. Przeczytałem artykuł w Wikipedii i różne inne artykuły, w tym moją książkę . Dlatego chciałem rozpocząć ten post na wiki...
Widziałem ciekawą technikę zastosowaną w odpowiedzi na inne pytanie i chciałbym ją trochę lepiej zrozumieć. Otrzymujemy 64-bitową liczbę całkowitą bez znaku i jesteśmy zainteresowani następującymi bitami: 1.......2.......3.......4.......5.......6.......7.......8....... W szczególności...
Jaki jest najbardziej wydajny algorytm do osiągnięcia następujących celów: 0010 0000 => 0000 0100 Konwersja odbywa się z MSB-> LSB do LSB-> MSB. Wszystkie bity muszą być odwrócone; to znaczy, nie jest to zamiana
Przez całe życie nie pamiętam, jak ustawić, usunąć, przełączyć lub przetestować trochę na polu bitowym. Albo nie jestem pewien, albo je mieszam, ponieważ rzadko ich potrzebuję. Tak więc byłoby miło mieć „ściągawkę”. Na przykład: flags = flags | FlagsEnum.Bit4; // Set bit 4. lub if ((flags...
var attr = ~'input,textarea'.indexOf( target.tagName.toLowerCase() ) ? 'value' : 'innerHTML' Widziałem to w odpowiedzi i nigdy wcześniej tego nie widziałem. Co to
Mój kolega natknął się na metodę wyprowadzania liczb zmiennoprzecinkowych za pomocą bitów lub: var a = 13.6 | 0; //a == 13 Rozmawialiśmy o tym i zastanawialiśmy się nad kilkoma rzeczami. Jak to działa? Nasza teoria była taka, że użycie takiego operatora rzutuje liczbę na liczbę całkowitą,...
Przeglądając kod źródłowy Guava natrafiłem na następujący fragment kodu (część implementacji hashCodeklasy wewnętrznej CartesianSet): int adjust = size() - 1; for (int i = 0; i < axes.size(); i++) { adjust *= 31; adjust = ~~adjust; // in GWT, we have to deal with integer overflow...
Jestem całkiem nowy w programowaniu w C i napotkałem maskowanie bitów. Czy ktoś może mi wyjaśnić ogólną koncepcję i funkcję maskowania bitów? Przykłady są bardzo
Chcę napisać funkcję, która zwraca najbliższą następną potęgę liczby 2. Na przykład, jeśli mój sygnał wejściowy to 789, wynik powinien wynosić 1024. Czy jest jakiś sposób na osiągnięcie tego bez użycia żadnych pętli, a jedynie z wykorzystaniem operatorów
Natrafiłem na następujący fragment kodu if( 0 != ( x ^ 0x1 ) ) encode( x, m ); Co x ^ 0x1znaczy Czy to jakaś standardowa
Muszę przekonwertować plik intna byte[]jeden ze sposobów, aby to zrobić BitConverter.GetBytes(). Ale nie jestem pewien, czy pasuje do następującej specyfikacji: Liczba całkowita ze znakiem XDR to 32-bitowe dane, które kodują liczbę całkowitą z zakresu [-2147483648,2147483647]. Liczba całkowita...
Czy ten kod zawsze daje wynik fałszywy? Obie zmienne są liczbami int ze znakiem uzupełnienia do dwóch. ~x + ~y == ~(x + y) Wydaje mi się, że powinna istnieć liczba spełniająca warunki. Próbowałem sprawdzić liczby pomiędzy -5000i, 5000ale nigdy nie osiągnąłem równości. Czy istnieje sposób na...
Nie wiem, jak działałby wektor bitowy, aby to zrobić (niezbyt zaznajomiony z wektorami bitowymi). Oto podany kod. Czy ktoś mógłby mnie przez to przeprowadzić? public static boolean isUniqueChars(String str) { int checker = 0; for (int i = 0; i < str.length(); ++i) { int val = str.charAt(i) -...
Istnieje zmienna, która zawiera kilka flag i chcę usunąć jedną z nich. Ale nie wiem, jak to usunąć. Oto jak ustawiłem flagę. my.emask |=
Rozwiązałem jakiś problem z siłami współrzędnymi. Zwykle najpierw sprawdzam, czy znak jest wielką, czy dolną literą angielską, a następnie odejmuję lub dodaję, 32aby przekonwertować go na odpowiednią literę. Ale znalazłem kogoś, kto zrobił ^= 32to samo. Oto ona: char foo = 'a'; foo ^= 32; char bar...
Powiedzmy, że masz dwa skróty H(A)i H(B)chcesz je połączyć. Czytałem, że dobrym sposobem na połączenie dwóch skrótów jest do XORnich np XOR( H(A), H(B) ). Najlepsze wyjaśnienie, jakie znalazłem, zostało pokrótce omówione tutaj w tych wytycznych dotyczących funkcji skrótu : XORowanie dwóch liczb...
Co wyjaśnia różnicę w zachowaniu operacji logicznych i bitowych na listach w porównaniu z tablicami NumPy? Jestem zdezorientowany co do odpowiedniego użycia &vs andw Pythonie, co ilustrują poniższe przykłady. mylist1 = [True, True, True, False, True] mylist2 = [False, True, False, True,...