Un bit flotte du LSB au MSB se déplaçant d'une position à chaque fois jusqu'à ce qu'il flotte vers le haut du conteneur:
0000
0001
0010
0100
1000
Une fois qu'un bit flotte vers le haut, un autre bit commence son voyage et s'arrête lorsqu'il rencontre un autre bit:
1001
1010
1100
Cela se produit jusqu'à ce que le conteneur soit rempli de bits:
1101
1110
1111
Défi
Étant donné un nombre entier, sortez la " séquence flottante de bits " pour un conteneur de ce nombre de bits.
- Chaque terme de la séquence peut être séparé par n'importe quel séparateur de votre choix.
- Modifier : séquence doit être affichée en tant que nombres entiers décimal, en commençant par le premier therm:
0
. - La taille du conteneur doit être supérieure à zéro et jusqu'au nombre de bits du plus grand entier pris en charge par la langue de votre choix. Vous pouvez supposer que l'entrée correspond toujours à cette exigence.
Exemples
Seule la séquence numérique est requise, la représentation binaire est montrée comme exemple:
Pour 1 :
0 1
0 -> 0 1 -> 1
Pour 3 :
0 1 2 4 5 6 7
000 -> 0 001 -> 1 010 -> 2 100 -> 4 101 -> 5 110 -> 6 111 -> 7
Pour 4 :
0 1 2 4 8 9 10 12 13 14 15
0000 -> 0 0001 -> 1 0010 -> 2 0100 -> 4 1000 -> 8 1001 -> 9 1010 -> 10 1100 -> 12 1101 -> 13 1110 -> 14 1111 -> 15
Pour 8 :
0 1 2 4 8 16 32 64 128 129 130 132 136 144 160 192 193 194 196 200 208 224 225 226 228 232 240 241 242 244 248 249 250 252 253 254 255
00000000 -> 0 00000001 -> 1 00000010 -> 2 00000100 -> 4 00001000 -> 8 … … … 11111000 -> 248 11111001 -> 249 11111010 -> 250 11111100 -> 252 11111101 -> 253 11111110 -> 254 11111111 -> 255
[0.0, 1.0]
0 -> [0, 1]