Conversia între baze numerice în modul Număr
Sistemele de numerație reprezintă modalități diferite de exprimare a valorilor matematice prin intermediul unor seturi specifice de simboluri. Acest instrument permite conversia bidirecțională și instantanee între cele mai utilizate patru baze din informatică și electronică: binar (baza 2), octal (baza 8), zecimal (baza 10) și hexazecimal (baza 16).
În modul Număr, utilizatorul poate introduce o valoare în oricare dintre cele patru câmpuri disponibile:
- Binar: Utilizează doar cifrele
0și1. - Octal: Utilizează cifrele de la
0la7. - Decimal: Utilizează cifrele de la
0la9. - Hexazecimal: Utilizează cifrele de la
0la9și literele de laAlaF. Literele din rezultatul hexazecimal sunt afișate cu majuscule.
Fiecare editare a unui câmp actualizează instantaneu celelalte trei câmpuri. Instrumentul acceptă diverse formate de introducere a datelor pentru a facilita copierea directă a codului sursă. Sunt permise spațiile înconjurătoare, separatoarele de tip underscore (_), spațiile libere și prefixele specifice de limbaj, cum ar fi 0b pentru binar, 0o pentru octal și 0x pentru hexazecimal. De asemenea, numerele negative sunt acceptate și își păstrează semnul minus în fiecare bază de conversie.
Exemplu de conversie a numărului zecimal 42:
- Binar: 101010
- Octal: 52
- Decimal: 42
- Hexazecimal: 2A
Dacă introduceți un caracter neconform cu baza selectată, instrumentul va afișa mesajul de eroare: „Număr nevalid pentru acea bază — verificați dacă există cifre pe care aceasta nu le poate conține.” Când procesul se finalizează cu succes, starea sistemului devine „Convertit.”, iar golirea câmpurilor de introducere va schimba starea în „Conținut șters.”.
Precizie arbitrară și absența rotunjirilor
Spre deosebire de calculatoarele standard care folosesc tipuri de date cu virgulă mobilă sau întregi pe 64 de biți (ceea ce poate duce la pierderea preciziei în cazul valorilor extrem de mari), acest convertor utilizează intern structura BigInt. Acest lucru înseamnă că numerele sunt analizate și formatate ca întregi de precizie arbitrară.
Nu există o limită practică de dimensiune pentru numerele convertite. Valorile sunt transpuse exact dintr-o bază în alta, fără a se aplica nicio rotunjire sau aproximare. Algoritmul de procesare suportă numere întregi de precizie arbitrară cu o lungime de până la 4.096 de caractere.
Conversia textului în octeți și codificarea UTF-8
În modul Text, instrumentul funcționează ca un codificator și decodificator de caractere, realizând legătura directă între textul lizibil și reprezentarea sa numerică la nivel de octet. Standardul utilizat pentru transformarea caracterelor în valori numerice este UTF-8.
UTF-8 este un sistem de codificare cu lungime variabilă, în care fiecare caracter poate fi reprezentat prin unul până la patru octeți. Atunci când direcția selectată este „Text → Octeți”, textul introdus este convertit în valorile sale de octeți în baza aleasă (binar, octal, zecimal sau hexazecimal). Lungimea maximă permisă pentru textul de intrare este de 200.000 de caractere.
Pentru a asigura o structură uniformă și ușor de citit, valorile de ieșire sunt completate cu zerouri nesemnificative în funcție de baza selectată:
- Binar: Completat cu zerouri la stânga până la 8 biți.
- Octal: Completat cu zerouri la stânga până la 3 biți.
- Hexazecimal: Completat cu zerouri la stânga până la 2 biți.
- Decimal: Nu se aplică completarea cu zerouri la stânga.
După finalizarea cu succes a codificării textului în octeți, starea afișată este „Codificat.”.
Decodificarea octeților în text și gestionarea erorilor
Direcția „Octeți → Text” permite utilizatorului să introducă o secvență de valori numerice pentru a le reconstitui sub formă de text codificat UTF-8. Valorile de octeți introduse pot fi separate prin spații libere sau prin virgule.
Fiecare valoare introdusă trebuie să reprezinte exact un singur octet, adică să se încadreze strict în intervalul zecimal 0–255 (sau echivalentul acestuia în baza selectată). Procesul de decodificare aplică reguli stricte de validare. În cazul în care apar probleme în fluxul de date, instrumentul va opri conversia și va afișa erori specifice:
| Scenariu de eroare | Mesaj de eroare afișat |
|---|---|
| Introducerea de caractere nepermise în baza selectată | „Coduri de octeți nevalide — fiecare valoare trebuie să fie un octet (0–255) în baza selectată.” |
| Valori numerice care depășesc limita unui octet (mai mari de 255 în zecimal) | „Coduri de octeți nevalide — fiecare valoare trebuie să fie un octet (0–255) în baza selectată.” |
| Secvențe de octeți care nu respectă structura de control UTF-8 | „Acești octeți nu reprezintă un text UTF-8 valid, prin urmare nu pot fi afișați ca text.” |
| Depășirea limitei fizice de caractere | „Datele introduse sunt prea lungi pentru acest instrument — încercați un text mai scurt.” |
Dacă decodificarea se realizează fără erori, starea sistemului se actualizează la „Decodificat.”.
Confidențialitatea datelor și procesarea locală
Atunci când lucrați cu date tehnice, configurații sau texte, confidențialitatea informațiilor este esențială. Acest instrument este conceput să funcționeze respectând securitatea datelor dumneavoastră prin procesare exclusiv locală.
Fiecare conversie rulează în browserul dumneavoastră. Numerele și textele dumneavoastră nu părăsesc niciodată dispozitivul. Nu există transferuri de date către servere externe și nu se realizează stocarea informațiilor introduse în baze de date la distanță. Întregul algoritm de analiză, conversie matematică prin BigInt și codificare/decodificare UTF-8 este executat direct de motorul JavaScript al browserului dumneavoastră.
Întrebări frecvente (FAQ)
Ce pot converti aici?
Două lucruri. Modul Număr conectează formatele binar, octal, zecimal și hexazecimal — editați oricare dintre câmpuri și celelalte se vor actualiza instantaneu. Modul Text transformă orice text în valorile sale de octeți în baza aleasă și citește acești octeți înapoi sub formă de text.
Sunt acceptate numerele negative și cele foarte mari?
Da. Numerele negative păstrează un semn minus în fiecare bază și nu există o limită de dimensiune de care să vă faceți griji — valorile se convertesc exact, fără rotunjiri. Nu există o vizualizare în complement față de doi cu lățime fixă, deoarece aceasta are sens doar după ce alegeți o lățime în biți.
Sunt trimise datele mele introduse undeva?
Nu. Totul este calculat local în browserul dumneavoastră, astfel încât nimic din ceea ce introduceți nu este încărcat pe server.
De ce primesc eroare la decodificarea unor octeți în text?
Această situație apare dacă valorile introduse depășesc intervalul unui octet (0–255 în zecimal), conțin caractere nepermise pentru baza selectată sau nu formează o secvență validă de caractere conform standardului de codificare UTF-8.