CATEGORII DOCUMENTE |
Tipul char
Codul ASCII (American Standard Code for Information Interchange) este un cod de reprezentare a caracterelor. Prin caracter intelegem unitatile de baza care se pot tasta (intrari de la tastatura), tipari la imprimanta sau afisa pe ecran. Tastatura reprezinta, de exemplu, dispozitivul de intrare care contine de fapt o intreaga colectie de caractere ce pot fi emise prin apasarea unei taste. Pentru a fi receptat, emis sau prelucrat de catre calculator, fiecare caracter are asociat un cod binar (o combinatie de biti) care il identifica in mod unic. Cum cu un octet putem codifica 28 = 256 caractere, octetul s-a dovedit o entitate suficienta pentru codificarea caracterelor utilizate in informatica. In 256 de coduri distincte se pot include literele mari si mici ale alfabetului anglo-saxon (inclusiv litere specifice diverselor alfabete precum cel chirilic sau particularitati ale diferitelor tari: s, t, a, i, S in romana, de exemplu). Se mai pot include caractere ce reprezinta numere, semne de punctuatie sau alte caractere de control. Codul ASCII a standardizat aceasta codificare, astfel incat el este folosit in cvasitotalitatea calculatoarelor (doar mainframe-urile IBM mai folosesc un alt cod, mai vechi, numit EBCIDIC). Daca se declara o data de tip char, ea este considerata explicit de tipul signed char (cu MSB bit de semn), deci reprezentarea interna este de forma:
Gama de reprezentare este cuprinsa intre
Daca se declara tipul unsigned char, atunci nu se mai considera (interpreteaza) bitul de semn si data se considera intreaga pozitiva, in gama
Tabelele de mai sus contin codurile ASCII ale primelor 128 de caractere. Coloana D semnifica valoarea zecimala (decimal) a octetului, coloana H reprezinta aceeasi valoare reprezentata in format hexazecimal (baza 16) iar in coloana Sym se reprezinta simbolul afisat pe monitoarele PC.
Intregul alfabet al limbajului C se regaseste in multimea primelor 128 de caractere ASCII. Restul de 128 de caractere se mai numeste si set de caractere extins ASCII si poate fi vizualizat printr-un program simplu.
Trebuie mentionat faptul ca reprezentarea datelor in format hexazecimal este foarte raspandita in tehnica programarii calculatoarelor. Avantajul reprezentarii interne a datelor in format hexazecimal consta in folosirea unui numar mai mic de cifre (de 4 ori mai mic decat numarul de cifre binare).
Reprezentarea unui numar natural in format hexazecimal se realizeaza cu metoda impartirii succesive la 16 sau, mai simplu, pornind de la reprezentarea binara a numarului.
Cum multimea cifrelor hexa contine 16 simboluri (0.9 si A.F), pentru codificarea celor 16 cifre avem nevoie de 4 cifre binare (). Pentru a reprezenta un octet vom avea nevoie de 2 cifre hexazecimale si vom proceda astfel:
se divide octetul in doua grupe de cate 4 biti
se inlocuieste fiecare grup de 4 biti cu cifra hexazecimala pe care o codifica.
De exemplu, sa presupunem ca avem numarul 217.
In acest mod, daca un numar are o reprezentare interna pe un numar de k octeti, se poate reprezenta simplu cu ajutorul a cifre hexazecimale.
In tabelele de mai jos se prezinta codificarea ASCII a caracterelor.
Codurile corespunzatoare simbolurilor alfanumerice din tabel sunt exact semnalele binare care se transmit in reprezentarea interna. Cu alte cuvinte, daca la tastatura se tasteaza simbolul "a", atunci circuitele corespunzatoare transmit spre calculator semnale binare corespunzatoare codului 1010 0001, adica 61H sau 97 in zecimal.
La fel se intampla cand se lucreaza cu procesoare de text sau cand se tipareste un document la imprimanta. Sistemul de calcul manevreaza codurile ASCII corespunzatoare literelor si cifrelor pe care utilizatorul le poate interpreta.
D |
H |
Sym |
D |
H |
Sym |
D |
H |
Sym |
D |
H |
Sym |
0 |
0 |
Null |
16 |
10 |
► |
32 |
20 |
48 |
30 |
0 |
|
1 |
1 |
☺ |
17 |
11 |
◄ |
33 |
21 |
! |
49 |
31 |
1 |
2 |
2 |
☻ |
18 |
12 |
↕ |
34 |
22 |
' |
50 |
32 |
2 |
3 |
3 |
♥ |
19 |
13 |
‼ |
35 |
23 |
# |
51 |
33 |
3 |
4 |
4 |
♦ |
20 |
14 |
36 |
24 |
$ |
52 |
34 |
4 |
|
5 |
5 |
♣ |
21 |
15 |
37 |
25 |
% |
53 |
35 |
5 |
|
6 |
6 |
♠ |
22 |
16 |
▬ |
38 |
26 |
& |
54 |
36 |
6 |
7 |
7 |
23 |
17 |
↨ |
39 |
27 |
' |
55 |
37 |
7 |
|
8 |
8 |
24 |
18 |
↑ |
40 |
28 |
( |
56 |
38 |
8 |
|
9 |
9 |
25 |
19 |
↓ |
41 |
29 |
) |
57 |
39 |
9 |
|
10 |
a |
LF |
26 |
1a |
→ |
42 |
2a |
* |
58 |
3a |
: |
11 |
b |
♂ |
27 |
1b |
← |
43 |
2b |
+ |
59 |
3b |
; |
12 |
c |
♀ |
28 |
1c |
∟ |
44 |
2c |
, |
60 |
3c |
< |
13 |
d |
CR |
29 |
1d |
↔ |
45 |
2d |
- |
61 |
3d |
= |
14 |
e |
♫ |
30 |
1e |
▲ |
46 |
2e |
. |
62 |
3e |
> |
15 |
f |
☼ |
31 |
1f |
▼ |
47 |
2f |
/ |
63 |
3f |
? |
D |
H |
Sym |
D |
H |
Sym |
D |
H |
Sym |
D |
H |
Sym |
64 |
40 |
@ |
80 |
50 |
P |
96 |
60 |
` |
112 |
70 |
p |
65 |
41 |
A |
81 |
51 |
Q |
97 |
61 |
a |
113 |
71 |
q |
66 |
42 |
B |
82 |
52 |
R |
98 |
62 |
b |
114 |
72 |
r |
67 |
43 |
C |
83 |
53 |
S |
99 |
63 |
c |
115 |
73 |
s |
68 |
44 |
D |
84 |
54 |
T |
100 |
64 |
d |
116 |
74 |
t |
69 |
45 |
E |
85 |
55 |
U |
101 |
65 |
e |
117 |
75 |
u |
70 |
46 |
F |
86 |
56 |
V |
102 |
66 |
f |
118 |
76 |
v |
71 |
47 |
G |
87 |
57 |
W |
103 |
67 |
g |
119 |
77 |
w |
72 |
48 |
H |
88 |
58 |
X |
104 |
68 |
h |
120 |
78 |
x |
73 |
49 |
I |
89 |
59 |
Y |
105 |
69 |
i |
121 |
79 |
y |
74 |
4a |
J |
90 |
5a |
Z |
106 |
6a |
j |
122 |
7a |
z |
75 |
4b |
K |
91 |
5b |
[ |
107 |
6b |
k |
123 |
7b | |
78 |
4e |
N |
94 |
5e |
^ |
110 |
6e |
n |
126 |
7e |
~ |
79 |
4f |
O |
95 |
5f |
_ |
111 |
6f |
o |
127 |
7f |
⌂ |
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 752
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved