Resultados da pesquisa a pedido "bit-manipulation"

3 a resposta

Por que a operação de bit i & (-i) é igual ao bit mais à direita?

Aprendi o algoritmo Fenwick Tree e estava escrito "i & (-i) igual ao bit mais à direita". Por exemplo,3 & (-3) = 1, 48 & (-48) = 16.. Eu testei o resultado parai <= 64, e todos os valores atenderam à condição. Mas não sei por que a condição ...

1 a resposta

Como transpor eficientemente uma matriz de bits 2D

Continuo tropeçando nesse problema (por exemplo, emessa questão [https://stackoverflow.com/questions/29309942/how-to-compute-the-height-profile-of-a-tetris-stack-most-efficiently] ) Dada uma matriz / placa / matriz de bits 2D na forma de uma ...

1 a resposta

Quero empacotar os bits com base na máscara arbitrária

Digamos que os dados sejam1011 1001 e a máscara é0111 0110, então você tem: data: 1011 1001 mask: 0111 0110 masked data: 0011 0000 bits selected: -011 -00- right packed: ---0 1100 result: 0000 1100 (set left `8 - popcount(mask)` bits ...

2 a resposta

Complexidade temporal de um algoritmo iterativo

Estou tentando encontrar a complexidade do tempo dessaalgoritmo [https://stackoverflow.com/a/40836241/2411320]. O algoritmo iterativo: produz todas as cadeias de bits dentro de uma determinada distância de Hamming, a partir da cadeia de bits de ...

1 a resposta

Conjunto de bits XOR quando o conjunto de bits 2D é armazenado como 1D

Para responderComo armazenar dados binários quando você se preocupa apenas com velocidade? [https://stackoverflow.com/questions/40773463/how-to-store-binary-data-when-you-only-care-about-speed] , Estou tentando escrever alguns para fazer ...

1 a resposta

A avaliação do compilador vai diferir para expressão constante e outra expressão

Por que o código abaixo falha na compilação? package main import ( "fmt" "unsafe" ) var x int = 1 const ( ONE int = 1 MIN_INT int = ONE << (unsafe.Sizeof(x)*8 - 1) ) func main() { fmt.Println(MIN_INT) }Eu recebo um erro main.go: 12: constant ...

5 a resposta

A maneira mais rápida de produzir uma máscara com n começando na posição i

Qual é a maneira mais rápida (em termos de ciclos de CPU na arquitetura moderna comum), de produzir uma máscara comlen bits definidos como 1 começando na posiçãopos: template <class UIntType> constexpr T make_mask(std::size_t pos, ...

1 a resposta

Alternativa eficiente e portátil ao PDEP sem usar o IMC2?

A documentação para oinstrução de depósito paralelo [https://en.wikipedia.org/wiki/Bit_Manipulation_Instruction_Sets#Parallel_bit_deposit_and_extract] (PDEP) no Conjunto de instruções de manipulação de bits da Intel 2 (BMI2) descreve a seguinte ...

8 a resposta

Corte de bits: bits de expansão

Estou tentando converter umuint16_t entrada para umuint32_t máscara de bits. Um bit na entrada alterna dois bits na máscara de bit de saída. Aqui está um exemplo de conversão de uma entrada de 4 bits em uma máscara de 8 bits: Input Output ABCDb ...

2 a resposta

Cálculo da representação negabinária de um determinado número sem loops

Você poderia fornecer uma explicação convincente ou uma prova matemática para explicar por que a função a seguir calcula onegabinário [https://en.wikipedia.org/wiki/Negative_base#To_negabinary]representação de um determinado número? function ...