Tag: BIT-MANIPULATION
¿Es un comportamiento definido por la implementación o un comportamiento indefinido realizar operaciones como -1 ^ máscara y otras operaciones bit a bit como bitOp(firmado.noSignado) y bitOp(firmado.firmado) en C++17?
Estoy tratando de copiar los 8 bits menos significativos de un entero a una posición determinada en un unsigned long. Mi primer enfoque fue v1 = (v1 & ~0xf) | (v2 & 0xf); donde v1 es el long y v2 el entero. Sin embargo, esto lo copiaría al final y . . . Read more
Estoy intentando obtener un campo personalizado de bits. Intenté este método: struct foo { unsigned z : 10; unsigned y : 16; unsigned x : 1; unsigned w : 16; }; int main() { foo test({0x345, 0x1234, 0x1 ,0x1234}); char bytes[8] = {0}; std::cout << sizeof(test) << std::endl; memcpy(bytes, &test, . . . Read more
Me gustaría saber si la representación binaria de un número entero tiene un número impar de bits iguales a uno. Existe una solución trivial manipulando bytes y usando algunos desplazamientos, pero creo que es más costoso que usar una operación XOR en cada bit. ¿Hay alguna forma de manipular bits . . . Read more
Tengo cuatro casillas de verificación vinculadas a un valor hexadecimal comprendido entre 0x00 y 0x0F. Por ejemplo, si se introduce 0x0B, que es equivalente a 1011, las casillas de verificación estarán marcadas, no marcadas, marcadas, marcadas. Para lograr esto, he utilizado: if ((controlByte.Item2 & 0x01) == 0x01) { control1 = . . . Read more