Écrivez un programme / fonction qui prend deux entiers compris entre et inclus, et retourne si les formes binaires des nombres sont exactement un bit différentes.
Par exemple, et ont des formes binaires 00000001
et 00000000
, qui sont séparées d'un bit. De même, et sont 010011000
et 000011000
, donc ils retournent vrai.
Cependant , votre code doit être vierge , de sorte que si un bit de votre programme est retourné, il devrait générer une erreur. Par exemple, si votre programme était le seul octeta
(01100001
), alors les 8 programmes modifiés possibles:
á ! A q i e c `
doit lancer une erreur. Assurez-vous que vous modifiez par octets (par exemple, le á
haut représente réellement l'octet , pas le caractère réel sur deux octets á
).
Cas de test:
0,1 => Truthy
1,0 => Truthy
152,24 => Truthy
10,10 => Falsey
10,11 => Truthy
11,12 => Falsey
255,0 => Falsey
Règles:
- Fournissez un cadre de test qui peut vérifier que votre programme est correctement vierge, car il y aura beaucoup de programmes possibles (nombre d'octets * 8), ou bien une preuve complète de pureté.
- Veuillez vous assurer que votre programme est valide avant de le publier.
- La sortie doit être véridique / falsey (dans tous les cas, c'est bien), ou bien deux valeurs distinctes sans erreur
- Les erreurs peuvent être l'exécution, le compilateur, l'interpréteur, etc.
+1
s que la majorité de mes solutions récentes! : \