Trochę unosi się z LSB do MSB za każdym razem przesuwając jedną pozycję, aż unosi się na górę kontenera:
0000
0001
0010
0100
1000
Gdy jeden bit unosi się na szczyt, kolejny bit rozpoczyna swoją podróż i zatrzymuje się, gdy napotyka inny bit:
1001
1010
1100
Dzieje się tak, dopóki pojemnik nie zostanie wypełniony bitami:
1101
1110
1111
Wyzwanie
Biorąc pod uwagę liczbę całkowitą, wypisz „ Bitową sekwencję zmienną ” dla kontenera o tej liczbie bitów.
- Każdy termin w sekwencji może być oddzielony dowolnym wybranym separatorem.
- Edycja : Sekwencja muszą być przedstawione w postaci liczb całkowitych dziesiętną, począwszy od pierwszego THERM
0
. - Rozmiar kontenera powinien być większy od zera i do liczby bitów największej liczby całkowitej obsługiwanej przez wybrany język. Możesz założyć, że dane wejściowe zawsze spełniają to wymaganie.
Przykłady
Wymagana jest tylko sekwencja numeryczna, reprezentacja binarna pokazana jest jako przykład:
Dla 1 :
0 1
0 -> 0 1 -> 1
Dla 3 :
0 1 2 4 5 6 7
000 -> 0 001 -> 1 010 -> 2 100 -> 4 101 -> 5 110 -> 6 111 -> 7
Dla 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
Dla 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]