Las computadoras viven por binario. Todos los programadores saben binario.
Pero las 2**x
bases a menudo se descuidan como no prácticas, mientras que tienen hermosas relaciones con lo binario.
Para mostrarles un ejemplo de una relación tan hermosa, 19 será mi testimonio.
19 10011 103 23 13 j
19 es decimal, incluido para mayor claridad.
10011 es 19 en binario.
103, en la base 4 se realiza a partir de binario de esta manera:
- log2 (4) == 2, recordemos dos.
- Pad 10011 para que tenga un múltiplo de 2 longitudes -> 010011
Tome los dígitos 2 por 2 de izquierda a derecha y trátelos como números binarios de 2 dígitos:
- 01 -> 1
- 00 -> 0
- 11 -> 3
Hecho , 10011 en base-4 es 103.
Para la base 8, haga lo mismo pero 3 por 3 como log2 (8) = 3.
- Pad 010011
- 010 -> 2
011 -> 3
23, hecho .
Para la base 16, haga lo mismo pero 4 por 4 como log2 (16) = 4.
- Pad 00010011
- 0001 -> 1
0011 -> 3
13, hecho .
Tarea
Dado un número máximo como entrada, debe generar una tabla
base-ten-i base-two-i base-four-i base-eight-i base-sixteen-i base-thirtytwo-i
para i que va de 0 a n inclusive. Los números binarios son el epítome del mínimo absoluto necesario para trabajar, por lo que su código debe ser lo más corto posible.
Restricciones y bonos
Base-diez -> binario y binario -> Las bases-diez incorporadas se consideran lagunas legales como Base-a -> Base-b.
Si genera todas las
2**i
bases (para i> 2) utilizando las relaciones antes mencionadas, obtendrá un*0.6
bono, pero se permiten conversiones de bases generales (escritas por usted mismo).
Tabla de ejemplo
> 32
0 0 0 0 0 0
1 1 1 1 1 1
2 10 2 2 2 2
3 11 3 3 3 3
4 100 10 4 4 4
5 101 11 5 5 5
6 110 12 6 6 6
7 111 13 7 7 7
8 1000 20 10 8 8
9 1001 21 11 9 9
10 1010 22 12 a a
11 1011 23 13 b b
12 1100 30 14 c c
13 1101 31 15 d d
14 1110 32 16 e e
15 1111 33 17 f f
16 10000 100 20 10 g
17 10001 101 21 11 h
18 10010 102 22 12 i
19 10011 103 23 13 j
20 10100 110 24 14 k
21 10101 111 25 15 l
22 10110 112 26 16 m
23 10111 113 27 17 n
24 11000 120 30 18 o
25 11001 121 31 19 p
26 11010 122 32 1a q
27 11011 123 33 1b r
28 11100 130 34 1c s
29 11101 131 35 1d t
30 11110 132 36 1e u
31 11111 133 37 1f v
32 100000 200 40 20 10