Problema:
Trova il numero di zeri iniziali in un numero intero con segno a 64 bit
Regole:
- L'input non può essere trattato come stringa; può essere qualsiasi cosa in cui operazioni matematiche e bit per bit guidano l'algoritmo
- L'output deve essere convalidato rispetto alla rappresentazione intera con segno a 64 bit del numero, indipendentemente dalla lingua
- Si applicano le regole di golf del codice predefinito
- Vince il codice più breve in byte
Casi test:
Questi test presuppongono numeri interi con segno di complemento a due. Se la tua lingua / soluzione manca o utilizza una diversa rappresentazione di numeri interi con segno, chiamalo e fornisci ulteriori casi di test che potrebbero essere pertinenti. Ho incluso alcuni casi di test che affrontano la doppia precisione, ma non esitare a suggerire altri che dovrebbero essere elencati.
input output 64-bit binary representation of input (2's complement)
-1 0 1111111111111111111111111111111111111111111111111111111111111111
-9223372036854775808 0 1000000000000000000000000000000000000000000000000000000000000000
9223372036854775807 1 0111111111111111111111111111111111111111111111111111111111111111
4611686018427387903 2 0011111111111111111111111111111111111111111111111111111111111111
1224979098644774911 3 0001000011111111111111111111111111111111111111111111111111111111
9007199254740992 10 0000000000100000000000000000000000000000000000000000000000000000
4503599627370496 11 0000000000010000000000000000000000000000000000000000000000000000
4503599627370495 12 0000000000001111111111111111111111111111111111111111111111111111
2147483648 32 0000000000000000000000000000000010000000000000000000000000000000
2147483647 33 0000000000000000000000000000000001111111111111111111111111111111
2 62 0000000000000000000000000000000000000000000000000000000000000010
1 63 0000000000000000000000000000000000000000000000000000000000000001
0 64 0000000000000000000000000000000000000000000000000000000000000000
False
invece di 0
?