¿Cuál es una forma óptima de reemplazar el bit menos significativo de un byte, con un bit provisto?Reemplazar bit menos significativo con operaciones bit a bit
sé cómo hacer la comprobación y comparación último bit (utilizando por ejemplo POSIX (FFS) de función), pero quiero saber si hay soluciones con mejor rendimiento, sin comprobar si la sustitución de bit es 0 ó 1.
el ejemplo está escrito en Python como pseudocódigo, pero voy a poner en práctica el algoritmo de trabajo en C:
>>> bin(0b1) # bit is '0b1'
>>> bin(128) # byte is '0b10000000'
>>> bin(129) # byte is '0b10000001'
>>> bin(128 OPERATOR 0b1) # Replace LSB with 1
'0b10000001'
>>> bin(128 OPERATOR 0b0) # Keep LSB at 0
'0b10000000'
>>> bin(129 OPERATOR 0b1) # Keep LSB at 1
'0b10000001'
>>> bin(129 OPERATOR 0b0) # Replace LSB with 0
'0b10000000'
Obviamente operador puede ser un conjunto de operaciones, pero estoy buscando el método óptimo (el más rápido).
Siempre tengo que verificar si mi bit de reemplazo es 0 o 1. ¿Hay un operador "universal"? – Emilio
@Emilion: '(n & ~ 1) | b' – NPE
lòl, perfecto. Muchas gracias. – Emilio