Computer leben von binären. Alle Programmierer kennen Binär.
Aber die 2**x
Grundlagen werden oft als unpraktisch vernachlässigt, während sie schöne Beziehungen zur Binärdatei haben.
Um Ihnen ein Beispiel für eine solch schöne Beziehung zu zeigen, wird 19 mein Zeugnis sein.
19 10011 103 23 13 j
19 ist dezimal, der Klarheit halber enthalten.
10011 ist 19 in binär.
103, in Basis 4 wird ausgehend von binär wie folgt gemacht:
- log2 (4) == 2, erinnern wir uns an zwei.
- Pad 10011 so, dass es ein Vielfaches von 2 Länge hat -> 010011
Nehmen Sie die Ziffern 2 mal 2 von links nach rechts und behandeln Sie sie als zweistellige Binärzahlen:
- 01 -> 1
- 00 -> 0
- 11 -> 3
Fertig , 10011 in Base-4 ist 103.
Machen Sie für Basis 8 dasselbe, aber 3 mal 3 wie log2 (8) = 3.
- Pad 010011
- 010 -> 2
011 -> 3
23, Fertig .
Machen Sie für Basis 16 dasselbe, aber 4 mal 4 wie log2 (16) = 4.
- Pad 00010011
- 0001 -> 1
0011 -> 3
13, Fertig .
Aufgabe
Bei einer maximalen Anzahl als Eingabe müssen Sie eine Tabelle ausgeben
base-ten-i base-two-i base-four-i base-eight-i base-sixteen-i base-thirtytwo-i
für i geht das von 0 bis einschließlich n. Binärzahlen sind der Inbegriff des absoluten Minimums, das für die Arbeit benötigt wird. Daher sollte Ihr Code so kurz wie möglich sein.
Einschränkungen und Boni
Base-Ten -> binär und binär -> Base-Ten-Einbauten gelten als Lücken wie Base-a -> Base-b.
Wenn Sie alle
2**i
(für i> 2) Basen unter Verwendung der oben genannten Beziehungen generieren, erhalten Sie einen*0.6
Bonus, aber allgemeine Basiskonvertierungen (von Ihnen selbst geschrieben) sind zulässig.
Beispieltabelle
> 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