Un po galleggia dal LSB al MSB spostando una posizione ogni volta fino a che galleggia sulla parte superiore del contenitore:
0000
0001
0010
0100
1000
Una volta che un bit galleggia verso l'alto, un altro bit inizia il suo viaggio e si interrompe quando incontra un altro bit:
1001
1010
1100
Questo accade fino a quando il contenitore non viene riempito con bit:
1101
1110
1111
Sfida
Dato un numero intero, genera la " Sequenza mobile di bit " per un contenitore di quel numero di bit.
- Ogni termine della sequenza può essere separato da qualsiasi separatore di tua scelta.
- Edit : Sequenza deve essere mostrata come numeri decimali interi, partendo dal primo therm:
0. - La dimensione del contenitore potrebbe essere maggiore di zero e fino al numero di bit dell'intero più grande supportato dalla lingua scelta. Si può presumere che l'input corrisponda sempre a questo requisito.
Esempi
È richiesta solo la sequenza numerica, la rappresentazione binaria è mostrata come esempio:
Per 1 :
0 10 -> 0 1 -> 1Per 3 :
0 1 2 4 5 6 7000 -> 0 001 -> 1 010 -> 2 100 -> 4 101 -> 5 110 -> 6 111 -> 7Per 4 :
0 1 2 4 8 9 10 12 13 14 150000 -> 0 0001 -> 1 0010 -> 2 0100 -> 4 1000 -> 8 1001 -> 9 1010 -> 10 1100 -> 12 1101 -> 13 1110 -> 14 1111 -> 15Per 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 25500000000 -> 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]