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

11 la respuesta

Intercambio de bytes enteros en C ++

Estoy trabajando en una tarea para mi clase de C ++. La pregunta en la que estoy trabajando dice lo siguiente: Escriba una función que tome un int corto sin signo (2 bytes) y cambie los bytes. Por ejemplo, si x = 258 (00000001 00000010) después ...

3 la respuesta

¿Cómo puedo eliminar una bandera en C?

Hay una variable que contiene algunas banderas y quiero eliminar una de ellas. Pero no sé cómo eliminarlo. Así es como configuro la bandera. my.emask |= ENABLE_SHOOT;

3 la respuesta

Poco golpeando en rubí

Quiero crear un bit, que contendrá permisos de seguridad para un usuario determinado. En c #, haría esto creando una enumeración, y luego haría un pequeño golpe en el valor binario, presionando '&&' para ver si da como resultado un ...

2 la respuesta

¿Banderas bit a bit y declaración de cambio?

Tengo el siguiente código (ejemplo), y realmente no me siento cómodo con tantas comprobaciones 'si': public enum Flags { p1 = 0x01, // 0001 p2 = 0x02, // 0010 p3 = 0x04, // 0100 p4 = 0x08 // 1000 }; public static void MyMethod (Flags flag) { if ...

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 ...

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 ...

7 la respuesta

¿Cómo puedo usar el desplazamiento de bits para reemplazar la división de enteros?

Entiendo cómo hacerlo para potencias de 2, así que esa no es mi pregunta. Por ejemplo, si quiero encontrar el 5% de un número usando un desplazamiento de bits en lugar de una división entera, ¿cómo lo calcularía? Entonces, en lugar de (x * ...

13 la respuesta

Compruebe si un número no es cero utilizando operadores bit a bit en C

Comprueba si un númerox es distinto de cero usando los operadores legales excepto!. Ejemplos:isNonZero(3) = 1, isNonZero(0) = 0 Operaciones legales:~ & ^ | + << >> Nota: Solo se deben usar operadores bit a bit.if, else, for, etc. no se ...

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 ...