Một bit trôi từ LSB sang MSB di chuyển một vị trí mỗi lần cho đến khi nó nổi lên trên đỉnh của container:
0000
0001
0010
0100
1000
Khi một bit nổi lên trên đỉnh, một bit khác bắt đầu hành trình của nó và nó dừng lại khi gặp bit khác:
1001
1010
1100
Điều này xảy ra cho đến khi container chứa đầy bit:
1101
1110
1111
Thử thách
Cho một số nguyên, xuất ra " chuỗi nổi bit " cho một thùng chứa số bit đó.
- Mỗi thuật ngữ của chuỗi có thể được phân tách bằng bất kỳ dấu phân cách nào bạn chọn.
- Chỉnh sửa : Chuỗi phải được hiển thị dưới dạng số nguyên thập phân, bắt đầu bằng nhiệt thứ nhất :
0
. - Kích thước thùng chứa phải lớn hơn 0 và tối đa số bit của số nguyên lớn nhất được thay thế bởi ngôn ngữ bạn chọn. Bạn có thể cho rằng đầu vào luôn phù hợp với yêu cầu này.
Ví dụ
Chỉ có chuỗi số là bắt buộc, biểu diễn nhị phân được hiển thị như ví dụ:
Cho 1 :
0 1
0 -> 0 1 -> 1
Cho 3 :
0 1 2 4 5 6 7
000 -> 0 001 -> 1 010 -> 2 100 -> 4 101 -> 5 110 -> 6 111 -> 7
Cho 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
Trong 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]