Problème:
Trouver le nombre de zéros non significatifs dans un entier signé 64 bits
Règles:
- L'entrée ne peut pas être traitée comme une chaîne; cela peut être n'importe quoi où les opérations mathématiques et au niveau des bits conduisent l'algorithme
- La sortie doit être validée par rapport à la représentation entière signée 64 bits du nombre, quelle que soit la langue
- Les règles de golf par défaut s'appliquent
- Le code le plus court en octets gagne
Cas de test:
Ces tests supposent deux entiers signés complémentaires. Si votre langue / solution manque ou utilise une représentation différente des entiers signés, veuillez l'indiquer et fournir des cas de test supplémentaires qui peuvent être pertinents. J'ai inclus quelques cas de test qui traitent de la double précision, mais n'hésitez pas à en suggérer d'autres qui devraient être répertoriés.
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
au lieu de 0
?