color = red + blue;
pet = puma * lion;
Имеют ли такие выражения какой-то смысл - это уже другой вопрос.
Нельзя использовать арифметическиe операции для переменных типа enum:
color = color + green; /* недопустимо */
Нельзя использовать операции yвеличения и уменьшения:
color++ ; /* недопустимо */
Нельзя использовать константу типа enum для индекса массива:
marbles[red] = 23; /* недопустимо */
Основная причина использования типа enumзаключается в улучшении читаемости программ. Если вы имеете дело с некоторым видом цветовых кодов, то использование redи blueчто обычно типы enum предназначены для использования внутри программы, а не для ввода-вывода. Например, если вы хотите ввести значение для переменной colorтипа spectrum, то должны были бы ввести, скажем, целое число 1, а не слово orange. (Конечно, можно было бы создать функцию ввода, которая восприняла бы строку "orange" и затем преобразовала бы ее в целое число orange.)
ПРИЛОЖЕНИЕ К. ТАБЛИЦА КОДОВ ASCII
Числовые преобразования
Числовые преобразования десятичное - шестнадцатеричное - восьмеричное - двоичное - ASCII
| Десятеричное |
Шестнадцатеричное |
Восьмеричное |
Двоичное |
ASCII |
Ключ* |
| X 10 |
X 16 |
X 8 |
PX x |
| 0 |
0 |
0 |
0 |
NUL |
CTRL/I |
| 1 |
1 |
1 |
10000001 |
SOH |
CTRL/A |
| 2 |
2 |
2 |
10000010 |
STX |
CTRL/B |
| 3 |
3 |
3 |
11 |
ЕТХ |
CTRL/C |
| 4 |
4 |
4 |
10000100 |
EOT |
CTRL/D |
| 5 |
5 |
5 |
101 |
ENQ |
CTRL/E |
| 6 |
6 |
6 |
110 |
АСК |
CTRL/F |
| 7 |
7 |
7 |
10000111 |
BEL |
CTRL/G |
| 8 |
8 |
10 |
10001000 |
BS |
СTRL/H,возврат |
| 9 |
9 |
11 |
1001 |
HT |
CTRL/I,табуляция |
| 10 |
0А |
12 |
1010 |
LF |
CTRL/J,новая строка |
| 11 |
0B |
13 |
10001011 |
VT |
CTRL/K |
| 12 |
0С |
14 |
1100 |
FF |
CTRL/L |
| 13 |
0D |
15 |
10001101 |
CR |
CTRL/M,возврат |
| 14 |
0E |
16 |
10001110 |
SO |
CTRL/N |
| 15 |
0F |
17 |
1111 |
SI |
CTRL/O |
| 16 |
10 |
20 |
10010000 |
DLE |
CTRL/P |
| 17 |
11 |
21 |
10001 |
C1 |
CTRL/Q |
| 18 |
12 |
22 |
10010 |
DC2 |
CTRL/R |
| 19 |
13 |
23 |
10010011 |
DC3 |
CTRL/S |
| 20 |
14 |
24 |
10100 |
DC4 |
CTRL/T |
| 21 |
15 |
25 |
10010101 |
NAK |
CTRL/U |
| 22 |
16 |
26 |
10010110 |
SYN |
CTRL/V |
| 23 |
17 |
27 |
10111 |
TB |
CTRL/W |
| 24 |
18 |
30 |
11000 |
CAN |
CTRL/X |
| 25 |
19 |
31 |
10011001 |
EM |
CTRL/Y |
| 26 |
1A |
32 |
10011010 |
SUB |
CTRL/Z |
| 27 |
1B |
33 |
11011 |
ESC |
ESC,возврат |
| 28 |
1С |
34 |
10011100 |
FS |
СТRL< |
| 29 |
1D |
35 |
11101 |
GS |
CTRL/ |
| 30 |
1E |
36 |
11110 |
RS |
CTRL/= |
| 31 |
1F |
37 |
10011111 |
US |
СTRL/- |
| 32 |
20 |
40 |
10100000 |
SP |
Пробел |
| 33 |
21 |
41 |
100001 |
! |
! |
| 34 |
22 |
42 |
100010 |
" |
" |
| 35 |
23 |
43 |
10100011 |
# |
# |
| 36 |
24 |
44 |
100100 |
$ |
$ |
| 37 |
25 |
45 |
10100101 |
½ |
½ |
| 38 |
26 |
46 |
10100110 |
& |
& |
| 39 |
27 |
47 |
100111 |
' |
' |
| 40 |
28 |
50 |
101000 |
( |
( |
| 41 |
29 |
51 |
10101001 |
) |
) |
| 42 |
2А |
52 |
10101010 |
* |
* |
| 43 |
2В |
53 |
101011 |
+ |
+ |
| 44 |
2С |
54 |
10101100 |
' |
' |
| 45 |
2D |
55 |
101101 |
- |
- |
| 46 |
2Е |
56 |
101110 |
. |
. |
| 47 |
2F |
57 |
10101111 |
/ |
/ |
| 48 |
30 |
60 |
110000 |
0 |
0 |
| 49 |
31 |
61 |
10110001 |
1 |
1 |
| 50 |
32 |
62 |
10110010 |
2 |
2 |
| 51 |
33 |
63 |
110011 |
3 |
3 |
| 52 |
34 |
64 |
10110100 |
4 |
4 |
| 53 |
35 |
65 |
110101 |
5 |
5 |
| 54 |
36 |
66 |
110110 |
6 |
6 |
| 55 |
37 |
67 |
10110111 |
7 |
7 |
| 56 |
38 |
70 |
10111000 |
8 |
8 |
| 57 |
39 |
71 |
111001 |
9 |
9 |
| 58 |
3А |
72 |
111010 |
: |
: |
| 59 |
3В |
73 |
10111011 |
; |
; |
| 60 |
3С |
74 |
111100 |
< |
< |
| 61 |
3D |
75 |
10111101 |
= |
= |
| 62 |
3Е |
76 |
10111110 |
> |
> |
| 63 |
3F |
77 |
111111 |
? |
? |
| 64 |
40 |
100 |
11000000 |
@ |
@ |
| 65 |
41 |
101 |
1000001 |
А |
А |
| 66 |
42 |
102 |
1000010 |
в |
в |
| 67 |
43 |
103 |
11000011 |
с |
с |
| 68 |
44 |
104 |
1000100 |
D |
D |
| 69 |
45 |
105 |
11000101 |
Е |
Е |
| 70 |
46 |
106 |
11000110 |
F |
F |
| 71 |
47 |
107 |
1000111 |
G |
G |
| 72 |
48 |
110 |
1001000 |
н |
Н |
| 73 |
49 |
111 |
11001001 |
I |
I |
| 74 |
4A |
112 |
11001010 |
J |
J |
| 75 |
4В |
113 |
1001011 |
к |
К |
| 76 |
4С |
114 |
11001100 |
L |
L |
| 77 |
4D |
115 |
1001101 |
M |
M |
| 78 |
4Н |
116 |
1001110 |
N |
N |
| 79 |
4F |
117 |
11001111 |
0 |
0 |
| 80 |
50 |
120 |
1010000 |
P |
Р |
| 81 |
51 |
121 |
11010001 |
Q |
Q |
| 82 |
52 |
122 |
11010010 |
R |
R |
| 83 |
53 |
123 |
1010011 |
S |
S |
| 84 |
53 |
124 |
11010100 |
T |
Т |
| 85 |
55 |
125 |
1010101 |
U |
U |
| 86 |
56 |
126 |
1010110 |
V |
V |
| 87 |
57 |
127 |
11010111 |
W |
W |
| 88 |
58 |
130 |
11011000 |
X |
X |
| 89 |
59 |
131 |
1011001 |
Y |
Y |
| 90 |
5А |
132 |
1011010 |
Z |
Z |
| 91 |
5В |
133 |
11011011 |
[ |
[ |
| 92 |
5С |
134 |
1011100 |
/ |
/ |
| 93 |
5D |
135 |
11011101 |
] |
] |
| 94 |
5Е |
136 |
11011110 |
^ |
^ |
| 95 |
5F |
137 |
1011111 |
- |
- |
| 96 |
60 |
140 |
1100000 |
. |
. |
| 97 |
61 |
141 |
11100001 |
a |
a |
| 98 |
62 |
142 |
11100010 |
b |
b |
| 99 |
63 |
143 |
1100011 |
с |
c |
| 100 |
64 |
144 |
11100100 |
d |
d |
| 101 |
65 |
145 |
1100101 |
е |
е |
| 102 |
66 |
146 |
1100110 |
f |
f |
| 103 |
67 |
147 |
11100111 |
g |
g |
| 104 |
68 |
150 |
11101000 |
h |
h |
| 105 |
69 |
151 |
1101001 |
i |
I |
| 106 |
6А |
152 |
1101010 |
j |
j |
| 107 |
6В |
153 |
11101011 |
k |
k |
| 108 |
6С |
154 |
1101100 |
l |
1 |
| 109 |
6D |
155 |
11101101 |
m |
m |
| 110 |
6Е |
156 |
11101110 |
n |
n |
| 111 |
6F |
157 |
1101111 |
o |
о |
| 112 |
70 |
160 |
11110000 |
p |
p |
| 113 |
71 |
161 |
1110001 |
q |
q |
| 114 |
72 |
162 |
1110010 |
r |
r |
| 115 |
73 |
163 |
11110011 |
s |
s |
| 116 |
74 |
164 |
1110100 |
t |
t |
| 117 |
75 |
165 |
11110101 |
u |
u |
| 118 |
76 |
166 |
11110110 |
v |
v |
| 119 |
77 |
167 |
1110111 |
w |
w |
| 120 |
78 |
170 |
1111000 |
x |
x |
| 121 |
79 |
171 |
11111001 |
y |
y |
| 122 |
7A |
172 |
11111010 |
z |
z |
| 123 |
7B |
173 |
1111011 |
R |
R |
| 124 |
7С |
174 |
11111100 |
/ |
/ |
| 125 |
7D |
175 |
1111101 |
T |
T |
| 126 |
7Е |
176 |
1111110 |
~ |
~ |
| 127 |
7F |
177 |
11111111 |
DEL |
DEL,отмена символа |