bit-manipulation
Algorytm generowania maski bitowej
Miałem do czynienia z unikalnym problemem generowania maski bitowej na podstawie parametru wejściowego. Na przykład,
If par ... r (int i = 0; i < param; i ++) {
nMask |= (1 << i);
}
Chciałbym wiedzieć, czy istnieje lepszy algorytm ~ ~ ~
Najszybszy sposób zaciskania rzeczywistej (stałej/zmiennoprzecinkowej) wartości?
Czy istnieje bardziej efektywny sposób zaciskania liczb rzeczywistych niż użycie instrukcji if lub operatorów trójdzielnych?
... teresująca. Ponadto, MY_MIN i MY_MAX są tego samego typu co wartość, którą chcę zaciśnąć (podwaja się w przykładach powyżej).
Odejmowanie spakowanych 8-bitowych liczb całkowitych w 64-bitowej liczbie całkowitej przez 1 równolegle, SWAR bez sprzętowego SIMD
Jeśli mam 64-bitową liczbę całkowitą, którą interpretuję jako tablicę spakowanych 8-bitowych liczb całkowitych z 8 elementami ... dla rozwiązania w C lub C++, które jest dość przenośne lub tylko teoria za nim, więc mogę zaimplementować własne rozwiązanie.
Najprostszy sposób, aby sprawdzić, czy dwie liczby całkowite mają ten sam znak?
Jaki jest najprostszy sposób, aby sprawdzić, czy dwie liczby całkowite mają ten sam znak? Czy jest jakaś krótka sztuczka bitowa, aby to zrobić?
Arytmetyczny bit-shift na podpisanej liczbie całkowitej
Próbuję dowiedzieć się, jak dokładnie działają arytmetyczne operatory zmiany bitowej w C i jak wpłynie to na podpisane 32-bit ... x << 31; //100000000......00
x = x >> 31; //111111111......11 (Everything is filled with 1s !!!!!)
Dlaczego?
Operacje bitowe na 32-bitowych niepodpisanych wejściach?
JavaScript konwertuje operandy na 32-bitowe sygnowane wejścia przed wykonaniem operacji bitowych. Wykonuje również operację z ... >>> 0;
/* b == 4164773430 */
var a = 1986735448;
var b = (a << 1) >>> 0;
/* b == 3973470896 */
Dlaczego kwadratura liczby jest szybsza niż mnożenie dwóch liczb losowych?
Mnożenie dwóch liczb binarnych zajmuje n^2 czasu, jednak kwadrat liczby można zrobić bardziej efektywnie w jakiś sposób. jak to możliwe?
Czy to niemożliwe? To szaleństwo!
Używanie operatorów bitowych na flagach
Mam cztery flagi
Current = 0x1
Past = 0x2
Future = 0x4
All = 0x7
Powiedzmy, że otrzymuję dwie flagi przeszłości i p ... m? Podobnie jak mogę powiedzieć, że Current nie jest w nim? W ten sposób nie będę musiał testować każdej możliwej kombinacji.
Jak używać operatora bitowego do przekazywania wielu wartości całkowitych do funkcji dla Javy?
W frameworkach aplikacji wciąż widzę frameworki, które pozwalają na przekazywanie wielu wartości Int (zwykle używanych zamias ... wielowartościowymprzykład dla mnie, aby prawidłowo ocenić wiele wartości int przekazywanych przy użyciu operatora bitowego?
Sprawdzanie czy bit jest ustawiony czy nie
Jak sprawdzić, czy określony bit w bajcie jest ustawiony?
bool IsBitSet(Byte b,byte nPos)
{
return .....;
}
Szybki sposób generowania pseudolosowych bitów o danym prawdopodobieństwie 0 LUB 1 dla każdego bitu
Zwykle generator liczb losowych zwraca strumień bitów, dla których prawdopodobieństwo zaobserwowania 0 LUB 1 w każdej pozycji ... e względu na jej złożoność postanowiłem zatrzymać się tutaj i wybrać naiwną implementację SIMD.
Dziękuję wszystkim za pomoc.
Jak skutecznie obliczyć 2^n-1 bez przepełnienia?
Chcę obliczyć 2 n -1 dla 64-bitowej wartości całkowitej.
To co obecnie robię to
for(i=0; i<n; i++) r|=1<<i;
I z ... akceptuję jego odpowiedź. Ponieważ podobał mi się tabela wyszukiwania } rozwiązanie dostał 50 punktów reputacji za bounty.
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?
funkcja sprawdzająca, czy n-ty bit jest ustawiony w bajcie
Chcę prostej funkcji C, która zwróci true, jeśli n-ten bit w bajcie jest ustawiony na 1. W przeciwnym razie zwróci false.
Jest to funkcja krytyczna pod względem czasu wykonania, więc myślę o najbardziej optymalnym sposobie, aby to zrobić.
Znajdź trzy numery pojawiły się tylko raz
W ciągu długości n, gdzie n=2K+3, czyli istnieją K liczby unikalne występujące dwukrotnie
a trzy numery pojawiły się tylko ra ... zielić sekwencję na 2
części o jeden bit wyniku, który wynosi 1, i ponownie zastosuj XOR do 2 części, a znajdziemy odpowiedź.
Jak obliczyć całkowitą wartość bezwzględną
Jak obliczyć całkowitą wartość bezwzględną bez użycia warunku if.
Chyba musimy użyć jakiejś operacji bitowej.
Czy ktoś może pomóc?
Manipuluj bajtami Alfa Java / Android color int
Jeśli mam int w Javie, którego używam jako koloru Androida( do rysowania na płótnie), jak manipulować tylko składnikiem Alfa ...
Najlepiej byłoby pomnożyć te pierwsze bajty przez to, czym jest factor, a nie po prostu ustawić bajty na wartość statyczną.
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)?
Jaki jest najszybszy sposób na podzielenie liczby całkowitej przez 3?
int x = n / 3; // <-- make this faster
// for instance
int a = n * 3; // <-- normal integer multiplication
int b = (n << 1) + n; // <-- potentially faster multiplication
Pierwszeństwo i operacje na maskach bitowych
Natknąłem się na (pozornie) bardzo dziwny przypadek.
Weź liczbę 2 (0b10) i bitmaskuj ją za pomocą 1 (0b01)
To powinno wytwo ... - więc może gdzieś się pomyliłem?
Jednak w Pythonie:
0b10 & 0b01 == 0 = True
0b10 & 0b01 != 0 = False
...więc?