Scrivi un programma / funzione che accetta due numeri interi compresi tra e inclusi e restituisce se le forme binarie dei numeri sono esattamente un bit differenti.
Ad esempio, e hanno forme binarie e , che sono un po 'distanti. Allo stesso modo, e sono e , quindi, ritornano veri. 2400000001
00000000
010011000
000011000
Tuttavia , il codice deve essere incontaminato , in modo tale che se un bit nel programma viene invertito, dovrebbe generare un errore. Ad esempio, se il tuo programma era il singolo bytea
(01100001
), tutti gli 8 possibili programmi modificati:
á ! A q i e c `
deve generare un errore. Assicurati di modificare i byte (ad es. Il punto in á
alto rappresenta effettivamente il byte , non il carattere a due byte effettivo á
).
Casi test:
0,1 => Truthy
1,0 => Truthy
152,24 => Truthy
10,10 => Falsey
10,11 => Truthy
11,12 => Falsey
255,0 => Falsey
Regole:
- Fornire un framework di test in grado di verificare che il programma sia correttamente integro, poiché ci saranno molti programmi possibili (numero di byte * 8), oppure una prova completa di originalità.
- Si prega di assicurarsi che il programma è valido prima di postare esso.
- L'output deve essere true / false (in entrambi i casi va bene), oppure due distinti valori non di errore
- Gli errori possono essere runtime, compilatore, interprete ecc.
+1
della maggior parte delle mie recenti soluzioni! : \