Escriba un programa / función que tome dos enteros en el rango de a inclusive, y devuelva si las formas binarias de los números son exactamente un bit diferentes.
Por ejemplo, y tienen formas binarias 00000001
y 00000000
, que están un poco separadas. Del mismo modo, y son 010011000
y 000011000
, por lo que devuelven verdadero.
Sin embargo , su código debe ser impecable , de modo que si se voltea un bit de su programa, debería arrojar un error. Por ejemplo, si su programa era el byte únicoa
(01100001
), entonces los 8 programas modificados posibles:
á ! A q i e c `
Debe arrojar un error. Asegúrese de que está modificando por bytes (p. Ej. á
, Allí arriba está representando el byte , no el carácter real de dos bytes á
).
Casos de prueba:
0,1 => Truthy
1,0 => Truthy
152,24 => Truthy
10,10 => Falsey
10,11 => Truthy
11,12 => Falsey
255,0 => Falsey
Reglas:
- Proporcione un marco de prueba que pueda verificar que su programa esté correctamente prístino, ya que habrá muchos programas posibles (número de bytes * 8), o una prueba completa de impecabilidad.
- Por favor asegúrese de que su programa es válido antes de publicarlo.
- La salida debe ser verdadero / falso (de cualquier manera está bien), o bien dos valores distintos sin error
- Los errores pueden ser tiempo de ejecución, compilador, intérprete, etc.
+1
de la mayoría de mis soluciones recientes! : \