Resultados de la búsqueda a petición "bit-manipulation"

3 la respuesta

¿Por qué la operación de bit i & (-i) es igual al bit más a la derecha?

Aprendí el algoritmo Fenwick Tree y estaba escrito "i & (-i) es igual al bit más a la derecha". Por ejemplo,3 & (-3) = 1, 48 & (-48) = 16.. Probé el resultado parai <= 64, y todos los valores satisfacen la condición. Pero no sé por qué la ...

1 la respuesta

Cómo transponer eficientemente una matriz de bits 2D

Sigo tropezando con este problema (por ejemplo, enesta pregunta [https://stackoverflow.com/questions/29309942/how-to-compute-the-height-profile-of-a-tetris-stack-most-efficiently] ) Dada una matriz / placa / matriz de bits 2D en forma de una ...

1 la respuesta

Quiero empacar los bits basados en una máscara arbitraria

Digamos que los datos son1011 1001 y la máscara es0111 0110, entonces tiene: 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 la respuesta

Complejidad temporal de un algoritmo iterativo

Estoy tratando de encontrar la complejidad del tiempo de estoalgoritmo [https://stackoverflow.com/a/40836241/2411320]. El algoritmo iterativo: produce todas las cadenas de bits dentro de una distancia de Hamming dada, a partir de la cadena de ...

1 la respuesta

Conjunto de bits XOR cuando el conjunto de bits 2D se almacena como 1D

Contestar¿Cómo almacenar datos binarios cuando solo te importa la velocidad? [https://stackoverflow.com/questions/40773463/how-to-store-binary-data-when-you-only-care-about-speed] , Estoy tratando de escribir algunos para hacer comparaciones, así ...

1 la respuesta

Va la evaluación del compilador difiere para la expresión constante y otra expresión

¿Por qué el siguiente código no se compila? 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) }Me sale un error main.go: 12: la constante ...

5 la respuesta

La forma más rápida de producir una máscara con n unos comenzando en la posición i

¿Cuál es la forma más rápida (en términos de ciclos de CPU en la arquitectura moderna común), para producir una máscara conlen bits establecidos en 1 comenzando en la posiciónpos: template <class UIntType> constexpr T make_mask(std::size_t pos, ...

1 la respuesta

¿Alternativa eficiente portátil a PDEP sin usar BMI2?

La documentación para elinstrucción de depósito paralelo [https://en.wikipedia.org/wiki/Bit_Manipulation_Instruction_Sets#Parallel_bit_deposit_and_extract] (PDEP) en el Conjunto de instrucciones de manipulación de bits de Intel 2 (BMI2) describe ...

8 la respuesta

Hack de bits: bits expandibles

Estoy tratando de convertir unuint16_t entrada a unuint32_t Máscara de bits. Un bit en la entrada alterna dos bits en la máscara de bits de salida. Aquí hay un ejemplo que convierte una entrada de 4 bits en una máscara de 8 bits: Input Output ...

2 la respuesta

Calcular la representación negabinaria de un número dado sin bucles

¿Podría proporcionar una explicación convincente, o una prueba matemática, de por qué la siguiente función calcula elnegabinary [https://en.wikipedia.org/wiki/Negative_base#To_negabinary]representación de un número dado? function ...