Escreva um programa / função que use dois números inteiros no intervalo de a , inclusive, e retorne se as formas binárias dos números são exatamente um pouco diferentes.
Por exemplo, e têm formas binárias e , que são um pouco separadas. Da mesma forma, e são e , portanto, eles retornam verdadeiros.00000001
00000000
010011000
000011000
No entanto , seu código deve ser primitivo , de modo que, se algum bit no seu programa for invertido, ocorrerá um erro. Por exemplo, se o seu programa era o byte únicoa
(01100001
), todos os 8 possíveis programas modificados:
á ! A q i e c `
deve lançar um erro. Verifique se você está modificando por bytes (por exemplo, o á
lá em cima realmente representa o byte , não o caractere real de dois bytes ).á
Casos de teste:
0,1 => Truthy
1,0 => Truthy
152,24 => Truthy
10,10 => Falsey
10,11 => Truthy
11,12 => Falsey
255,0 => Falsey
Regras:
- Forneça uma estrutura de teste que possa verificar se o seu programa está funcionando corretamente, pois haverá muitos programas possíveis (número de bytes * 8), ou então uma prova completa da manutenção.
- Verifique se o seu programa é válido antes de publicá-lo.
- A saída precisa ser verdade / falsey (de qualquer maneira é bom), ou então dois valores distintos de não erro
- Os erros podem ser tempo de execução, compilador, intérprete etc.
+1
do que a maioria das minhas soluções recentes! : \