Tengo un bitboard y quiero comprobar en C si sólo hay un bit puesto a 1.Prueba si un bitboard haber sólo un bit puesto a 1
#include <stdint.h>
typedef uint64_t bboard;
bboard b = 0x0000000000000010;
if (only_one_bit_set_to_one (b)) // in this example expected true
// do something...
Cualquier idea de escribir la función int only_one_bit_set_to_one (bboard b)
?
posible duplicado de [Cómo comprobar si un número es una potencia de 2] (http://stackoverflow.com/questions/600293/how-to-check-if-a-number-is-a-power- of-2) –
Posible duplicado de [Comprobar si solo se ha establecido un solo bit dentro de un entero (cualquiera que sea su posición)] (http://stackoverflow.com/questions/13420241/check-if-only-one-single-bit -is-set-within-a-integer-whatever-its-position) –