Conversia la o locatie de alte dimensiuni
Pana acum am presupus ca operanzii au lungimi fixe, asa cum pretind regulile de derulare a operatiilor. Dar ce-i de facut atunci cand, spre exemplu, trebuie sa se converteasca un cod complementar pe 8 biti la unul pe 16 biti? Sau daca trebuie sa reducem un numar reprezentat fara semn pe 16 biti la unul similar pe 8 biti?
In fapt este vorba de patru operatii:
Extensie cu semn a unui cod complementar intr-o locatie mai mare.
Extensie cu zero a unui numar fara semn intr-o locatie mai mare.
Contractie cu semn a unui cod complementar intr-o locatie mai mica.
Contractie de zero a unui numar fara semn intr-o locatie mai mica.
Regulile de conversie sunt foarte simple. Extensia cu semn inseamna ca in spatiul suplimentar toti bitii vor avea ca valoare valoarea bitului de semn al reprezentarii care se converteste. Extensia cu zero inseamna ca in spatiul suplimentar toti bitii vor avea valoarea zero. Tabelul urmator prezinta cateva exemple cu ambele extensii. In fiecare celula a tabelului pe primul rand este scrisa configuratia in hexazecimal, iar pe urmatoarele configuratia binara:
8 biti: |
16 biti: extensie cu semn |
32 biti: extensie cu semn |
16 biti: extensie cu zero |
32 biti: extensie cu zero |
FF80 |
FFFFFF80 | |||
9A |
FF9A |
FFFFFF9A |
009A |
0000009A |
7F |
007F |
0000007F |
007F |
0000007F |
FFFF8088 |
Operatiile de contractie nu se pot executa intotdeauna. Spre exemplu, intr-o locatie pe 16 biti exista numarul -448 in baza 10, care in cod complementar se reprezinta FE40. Dorim sa efectuam o contractie la 8 biti. Eliminand pur si simplu primul octet se obtine 40, adica numarul 64 in baza 10! Avem, evident, o situatie de depasire. Cu alte cuvinte, contractiile (conversii prin ingustare) se pot executa numai daca NU se provoaca pierderea de informatie.
Pentru contractia cu semn, contractia se poate face numai daca toti bitii care se elimina trebuie sa coincida cu bitul de semn, adica cu primul bit care ramane. Pentru contractia fara semn, trebuie ca toti bitii care se elimina sa fie zero. Tabelul urmator prezinta cateva exemple.
16 biti: |
8 biti: contractie cu semn |
8 biti: contractie cu zero |
FF80 |
Depasire! Se pierd 8 biti 1 |
|
FF9A |
9A |
Depasire! Se pierd 8 biti 1 |
FE40 |
Depasire! Se schimba bitul de semn |
Depasire! Se pierd 8 biti 1 |
Depasire! Se schimba bitul de semn |
Depasire! Se pierd 8 biti 1 |
|
Depasire! Se schimba bitul de semn |
Politica de confidentialitate |
.com | Copyright ©
2024 - Toate drepturile rezervate. Toate documentele au caracter informativ cu scop educational. |
Personaje din literatura |
Baltagul – caracterizarea personajelor |
Caracterizare Alexandru Lapusneanul |
Caracterizarea lui Gavilescu |
Caracterizarea personajelor negative din basmul |
Tehnica si mecanica |
Cuplaje - definitii. notatii. exemple. repere istorice. |
Actionare macara |
Reprezentarea si cotarea filetelor |
Geografie |
Turismul pe terra |
Vulcanii Și mediul |
Padurile pe terra si industrializarea lemnului |
Termeni si conditii |
Contact |
Creeaza si tu |