6.Bijkomend materiaal
Decimale/Hexadecimale tabel
(hexadecimale waarden worden aangeduid met een volg-"H")
MIDI gebruikt 7-bit hexadecimale waarden om gegevenswaarden en het adres en de
grootte van exclusieve commandoÕs te beschrijven. De onderstaande tabel toont de ver-
houding tussen decimale en hexadecimale cijfers.
+——————+——————++——————+——————++——————+——————++——————+——————+
|
D
|
H
||
D
|
H
||
+——————+——————++——————+——————++——————+——————++——————+——————+
|
0 |
00H ||
32 |
20H ||
|
1 |
01H ||
33 |
21H ||
|
2 |
02H ||
34 |
22H ||
|
3 |
03H ||
35 |
23H ||
|
4 |
04H ||
36 |
24H ||
|
5 |
05H ||
37 |
25H ||
|
6 |
06H ||
38 |
26H ||
|
7 |
07H ||
39 |
27H ||
|
8 |
08H ||
40 |
28H ||
|
9 |
09H ||
41 |
29H ||
|
10 |
0AH ||
42 |
2AH ||
|
11 |
0BH ||
43 |
2BH ||
|
12 |
0CH ||
44 |
2CH ||
|
13 |
0DH ||
45 |
2DH ||
|
14 |
0EH ||
46 |
2EH ||
|
15 |
0FH ||
47 |
2FH ||
|
16 |
10H ||
48 |
30H ||
|
17 |
11H ||
49 |
31H ||
|
18 |
12H ||
50 |
32H ||
|
19 |
13H ||
51 |
33H ||
|
20 |
14H ||
52 |
34H ||
|
21 |
15H ||
53 |
35H ||
|
22 |
16H ||
54 |
36H ||
|
23 |
17H ||
55 |
37H ||
|
24 |
18H ||
56 |
38H ||
|
25 |
19H ||
57 |
39H ||
|
26 |
1AH ||
58 |
3AH ||
|
27 |
1BH ||
59 |
3BH ||
|
28 |
1CH ||
60 |
3CH ||
|
29 |
1DH ||
61 |
3DH ||
|
30 |
1EH ||
62 |
3EH ||
|
31 |
1FH ||
63 |
3FH ||
+——————+——————++——————+——————++——————+——————++——————+——————+
D: decimaal
H: hexadecimaal
* Decimale uitdrukking zoals degene die voor MIDI-kanaal, Bank Select, en Program
Change worden gebruikt, zullen 1 waarde groter zijn dan de decimale waarde die in
bovenstaande tabel is aangegeven.
* Aangezien elke MIDI byte 7 belangrijke data-bits bevat, kan elke byte maximaal 128
verschillende waarden uitdrukken. Gegevens waarvoor een hogere resolutie vereist is ,
moeten worden verzonden met behulp van twee of meer bytes. Zo heeft bijvoorbeeld
een waarde die aangeduid wordt als een waarde van twee aa bbH bytes een waarde
van aa x 128 + bb.
* Voor een getekend nummer (+/-), 00H = -64, 40H = +/-0, en 7FH = +63. d.i..het deci-
male equivalent, zal 64 minder zijn dan de decimale waarde die in bovenstaande tabel
wordt gegeven. . Voor een getekend nummer van twee bytes, 00 00H = -8192, 40 00H =
+/-0, en 7F 7FH = +8191. De decimale uitdrukking van bijvoorbeeld aa bbH zal aa bbH
- 40 00H = (aa x 128 + bb - 64 x 128.) zijn.
* Hexadecimale notering in twee eenheden van 4 bit wordt gebruikt voor gegevens die
als ÒnibbledÓ worden aangeduid. De genibbelde twee -byte waarde van 0a 0b H zal a x
16 + b zijn.
<Voorbeeld 1>
Wat is het decimale equivalent van 5AH?
Uit bovenstaande tabel, 5AH = 90.
<Voorbeeld 2>
Wat is het decimale equivalent van de 7-bit hexadecimale waarden 12
34H?
Uit bovenstaande tabel, 12H = 18 en 34H = 52
Dus, 18 x 128 + 52 = 2356
<Voorbeeld 3>
Wat is het decimale equivalent van de genibbelde uitdrukking 0A 03 09
0DH?
Uit bovenstaande tabel, 0AH = 10, 03H = 3, 09H = 9, 0DH = 13
Dus is het resultaat ((10 x 16 + 3) x 16 + 9) x 16 + 13 = 41885
<Voorbeeld 4>
Wat is het genibbelde equivalent van het decimaal cijfer 1258?
16 ) 1258
16 )
78 ...10
16 )
4 ...14
0 ... 4
Uit bovenstaande tabel, 0=00H, 4=04H, 14=0EH, 10=0AH
Dus is het resultaat 00 04 0E 0AH
D
|
H
||
D
|
H
|
64 |
40H ||
96 |
60H |
65 |
41H ||
97 |
61H |
66 |
42H ||
98 |
62H |
67 |
43H ||
99 |
63H |
68 |
44H ||
100 |
64H |
69 |
45H ||
101 |
65H |
70 |
46H ||
102 |
66H |
71 |
47H ||
103 |
67H |
72 |
48H ||
104 |
68H |
73 |
49H ||
105 |
69H |
74 |
4AH ||
106 |
6AH |
75 |
4BH ||
107 |
6BH |
76 |
4CH ||
108 |
6CH |
77 |
4DH ||
109 |
6DH |
78 |
4EH ||
110 |
6EH |
79 |
4FH ||
111 |
6FH |
80 |
50H ||
112 |
70H |
81 |
51H ||
113 |
71H |
82 |
52H ||
114 |
72H |
83 |
53H ||
115 |
73H |
84 |
54H ||
116 |
74H |
85 |
55H ||
117 |
75H |
86 |
56H ||
118 |
76H |
87 |
57H ||
119 |
77H |
88 |
58H ||
120 |
78H |
89 |
59H ||
121 |
79H |
90 |
5AH ||
122 |
7AH |
91 |
5BH ||
123 |
7BH |
92 |
5CH ||
124 |
7CH |
93 |
5DH ||
125 |
7DH |
94 |
5EH ||
126 |
7EH |
95 |
5FH ||
127 |
7FH |
MIDI-implementatie
87