# Μετατροπέας αριθμητικών συστημάτων

> Μετατρέψτε μεταξύ BIN, HEX, DEC και OCT, με συμπλήρωμα ως προς δύο και βάθος 8-64 bit για αρνητικούς αριθμούς. Δωρεάν εργαλείο online για developers.

URL: https://acrafto.com/el/number-system-converter-negative-numbers/

Tools are interactive browser apps; there is no public API, no endpoints to call and no server-side processing. To use a tool, open its HTML page in a browser.

Ο κόσμος των υπολογιστών λειτουργεί με μηδέν και ένα, αλλά οι άνθρωποι σκέφτονται σε δεκάδες. Και οι προγραμματιστές; Πρέπει να κατανοούν τα πάντα ενδιάμεσα. Είτε κάνετε αποσφαλμάτωση κώδικα χαμηλού επιπέδου, είτε ρυθμίζετε χρώματα σε CSS, είτε υπολογίζετε μάσκες IP, είτε επιλύετε εργασίες πληροφορικής, θα συναντήσετε την ανάγκη μετατροπής αριθμών μεταξύ συστημάτων.

Οι συνηθισμένες αριθμομηχανές των Windows ή του κινητού είναι συχνά αργές και αδέξιες. Ο **έξυπνος μετατροπέας αριθμητικών συστημάτων** μας σχεδιάστηκε από προγραμματιστές για προγραμματιστές. Προσφέρει άμεση μετατροπή σε πραγματικό χρόνο, υποστήριξη για εξαιρετικά μεγάλους αριθμούς και, ως ένα από τα λίγα online εργαλεία, **χειρίζεται σωστά τους αρνητικούς αριθμούς σε δυαδική μορφή**.

## Τι μπορεί να κάνει αυτός ο μετατροπέας αριθμητικών συστημάτων;

Κατά την ανάπτυξη αυτού του widget, επικεντρωθήκαμε στην επίλυση των πιο συχνών προβλημάτων των προγραμματιστών:

1. **Ανταπόκριση σε πραγματικό χρόνο:** Κανένα κουμπί “Υπολογισμός”. Ξεκινήστε να πληκτρολογείτε στο πεδίο HEX και δείτε αμέσως πώς αλλάζουν τα BIN και DEC.
2. **Υποστήριξη αρνητικών αριθμών (Signed Integers):** Οι περισσότεροι online μετατροπείς αποτυγχάνουν όταν πληκτρολογείτε `-5`. Εμείς όχι. Χάρη στην επιλογή **βάθους bit** (8, 16, 32, 64 bit), προσομοιώνουμε την ακριβή συμπεριφορά του επεξεργαστή χρησιμοποιώντας το συμπλήρωμα ως προς δύο.
3. **Αναγνωσιμότητα δυαδικού κώδικα:** Το να κοιτάτε το `1110101011011110` είναι κουραστικό. Το εργαλείο μας μπορεί να μορφοποιήσει αυτόματα την έξοδο σε 4 bit (nibbles) σε `1110 1010 1101 1110`, μειώνοντας δραστικά τα λάθη κατά την αντιγραφή.
4. **Υποστήριξη BigInt:** Χρειάζεστε να μετατρέψετε έναν αριθμό 64-bit ή ένα hash; Το τυπικό JavaScript σταματά στον αριθμό $2^{53}$. Η μηχανή μας μπορεί να χειριστεί αριθμούς οποιουδήποτε μήκους σε λειτουργία “Μόνο θετικά”.

---

## Οδηγός αριθμητικών συστημάτων: Πότε να χρησιμοποιήσετε το καθένα;

### 1\. Δεκαδικό σύστημα (DEC - Decimal)

- **Βάση:** 10 (ψηφία 0-9)
- **Χρήση:** Καθημερινή ζωή, οικονομικά, μέτρηση βρόχων στον κώδικα.
- **Ενδιαφέρον:** Οι υπολογιστές δεν το κατανοούν, πρέπει να το μετατρέψουν σε δυαδικό.

### 2\. Δυαδικό σύστημα (BIN - Binary)

- **Βάση:** 2 (ψηφία 0, 1)
- **Χρήση:** Κώδικας μηχανής, λογικές πύλες, μάσκες IP.
- **Συμβουλή:** Κάθε ψηφίο αντιπροσωπεύει ένα bit. 8 bit αποτελούν 1 byte.

### 3\. Δεκαεξαδικό σύστημα (HEX - Hexadecimal)

- **Βάση:** 16 (ψηφία 0-9, γράμματα A-F)
- **Χρήση:** Συμπαγής αναπαράσταση δυαδικού κώδικα. Ένας χαρακτήρας HEX αντιπροσωπεύει ακριβώς 4 bit (nibble). Δύο χαρακτήρες (π.χ. `FF`) αντιπροσωπεύουν ένα ολόκληρο byte.
- **Παραδείγματα:**
  - Χρώματα στον ιστό: `#FF5733` (Κόκκινο, Πράσινο, Μπλε).
  - Διευθύνσεις MAC: `00:1A:2B:3C:4D:5E`.
  - Αποτυπώσεις μνήμης (Memory dumps).

### 4\. Οκταδικό σύστημα (OCT - Octal)

- **Βάση:** 8 (ψηφία 0-7)
- **Χρήση:** Ιστορικά παλαιότεροι υπολογιστές, σήμερα κυρίως **δικαιώματα Linux** (chmod).
- **Παράδειγμα:** Η εντολή `chmod 755` ορίζει τα δικαιώματα rwx-rx-rx (ανάγνωση, εγγραφή, εκτέλεση).

---

## Πώς να εργάζεστε σωστά με αρνητικούς αριθμούς;

Αυτή είναι η πιο προηγμένη λειτουργία του μετατροπέα μας. Στη μνήμη του υπολογιστή, δεν υπάρχει σύμβολο “μείον”. Για να αποθηκεύσει έναν αρνητικό αριθμό, ο υπολογιστής χρησιμοποιεί συχνότερα τη μέθοδος του **συμπληρώματος ως προς δύο (Two’s Complement)**.

Το αποτέλεσμα της μετατροπής ενός αρνητικού αριθμού εξαρτάται από το πόσα bit έχει δεσμευμένα η μεταβλητή. Γι’ αυτό, στην επάνω γραμμή θα βρείτε τον διακόπτη **Βάθος Bit**.

### Παράδειγμα: Πώς φαίνεται ο αριθμός -5;

Δοκιμάστε το μόνοι σας στον μετατροπέα μας:

1. Ορίστε το βάθος σε **8-bit**.
   - Εισάγετε στο DEC: `-5`.
   - Αποτέλεσμα HEX: `FB`.
   - Αποτέλεσμα BIN: `1111 1011`.
   - *Εξήγηση:* $256 - 5 = 251$ (το οποίο είναι FB).
2. Ορίστε το βάθος σε **16-bit**.
   - Εισάγετε στο DEC: `-5`.
   - Αποτέλεσμα HEX: `FFFB`.
   - *Εξήγηση:* Επειδή έχουμε περισσότερο χώρο, οι “άσοι” συμπληρώνουν τον υπόλοιπο χώρο αριστερά.
3. Ορίστε το βάθος σε **Μόνο θετικά (Unsigned)**.
   - Αν εισάγετε `-5`, το πεδίο θα κοκκινίσει. Αυτή η λειτουργία δεν υποστηρίζει αρνητικούς αριθμούς, καθώς θα απαιτούσε άπειρους άσους.

> **Επαγγελματική συμβουλή:** Εάν εργάζεστε με χρώματα ή διευθύνσεις IP, χρησιμοποιείτε πάντα τη λειτουργία **“Μόνο θετικά”**. Εάν κάνετε εργασίες σε C/C++ ή assembler, μεταβείτε σε **32-bit** ή **64-bit**.

---

## Πίνακας γρήγορων μετατροπών (Cheat Sheet)

Για γρήγορο προσανατολισμό, παραθέτουμε τις βασικές τιμές που πρέπει να γνωρίζει κάθε “ITάς” απ’ έξω.

| Δεκαδικό (DEC) | Δεκαεξαδικό (HEX) | Δυαδικό (BIN) | Σημείωση |
| :--- | :--- | :--- | :--- |
| **0** | 00 | 0000 | Μηδέν |
| **1** | 01 | 0001 |  |
| **10** | 0A | 1010 |  |
| **15** | 0F | 1111 | Μέγιστη τιμή 4 bit (Nibble) |
| **16** | 10 | 0001 0000 |  |
| **127** | 7F | 0111 1111 | Μέγιστη τιμή για signed 8-bit (char) |
| **255** | FF | 1111 1111 | Μέγιστη τιμή για unsigned 8-bit (byte) |
| **65 535** | FFFF | … | Μέγιστη τιμή για 16-bit |

---

## Συχνές Ερωτήσεις (FAQ)

### Τι σημαίνει "Bit Depth" (Βάθος Bit);

Καθορίζει πόση μνήμη έχουμε δεσμεύσει για έναν αριθμό.

- **8-bit:** Τιμές 0 έως 255 (ή -128 έως 127). Αντιστοιχεί στον τύπο `char` ή `byte`.
- **16-bit:** Τιμές έως 65 535. Αντιστοιχεί στον τύπο `short`.
- **32-bit:** Το τυπικό `int` σε σύγχρονες γλώσσες.
- **64-bit:** Για πολύ μεγάλους αριθμούς (`long long`, `BigInt`).

### Γιατί ο αριθμός 255 στο HEX γράφεται ως FF;

Το δεκαεξαδικό σύστημα έχει 16 ψηφία (0-9 και A-F), όπου το F έχει τιμή 15. Ο αριθμός `FF` υπολογίζεται ως: $(15 \\times 16^1) + (15 \\times 16^0) = 240 + 15 = 255$.

### Πώς μετατρέπω ένα χρώμα HEX σε RGB;

Ένα χρώμα στον ιστό, π.χ. `#E05412`, αποτελείται από τρία byte: Κόκκινο (E0), Πράσινο (54), Μπλε (12). Εισάγετε "E0" στον μετατροπέα μας στο πεδίο HEX -> θα λάβετε 224. Εισάγετε "54" -> θα λάβετε 84. Εισάγετε "12" -> θα λάβετε 18. Το αποτέλεσμα είναι `rgb(224, 84, 18)`.

### Τι σημαίνει το πρόθεμα 0x, 0b ή 0o;

Για να διακρίνουν τα συστήματα οι προγραμματιστές, χρησιμοποιούνται προθέματα:

- `0x` = Δεκαεξαδικό (π.χ. 0xFF)
- `0b` = Δυαδικό (π.χ. 0b101)
- `0o` = Οκταδικό (π.χ. 0o755)

Ο μετατροπέας μας αναγνωρίζει αυτές τις σημάνσεις, αλλά δεν είναι απαραίτητο να τις γράψετε.

### Γιατί το πεδίο κοκκίνισε;

Αυτή είναι μια λειτουργία επικύρωσης εισόδου. Σημαίνει ότι εισαγάγατε έναν χαρακτήρα που δεν ανήκει στο συγκεκριμένο σύστημα. Παράδειγμα:

- Το γράμμα "G" στο HEX (επιτρέπονται μόνο A-F).
- Το ψηφίο "2" στο BIN (επιτρέπονται μόνο 0 και 1).
- Το ψηφίο "8" στο OCT (επιτρέπονται μόνο 0-7).

Διορθώστε το τυπογραφικό λάθος και ο υπολογισμός θα συνεχιστεί.

## Other languages

- Čeština (cs): [Převodník číselných soustav](https://acrafto.com/cs/prevody-ciselnych-soustav/) ([Markdown](https://acrafto.com/cs/prevody-ciselnych-soustav/index.md))
- Slovenčina (sk): [Prevodník číselných sústav](https://acrafto.com/sk/prevodnik-ciselnych-sustav/) ([Markdown](https://acrafto.com/sk/prevodnik-ciselnych-sustav/index.md))
- English (en): [Number System Converter](https://acrafto.com/en/number-system-converter-negative-numbers/) ([Markdown](https://acrafto.com/en/number-system-converter-negative-numbers/index.md))
- Deutsch (de): [Zahlensystem-Konverter](https://acrafto.com/de/zahlensystem-konverter-negative-zahlen/) ([Markdown](https://acrafto.com/de/zahlensystem-konverter-negative-zahlen/index.md))
- Français (fr): [Convertisseur de bases numériques](https://acrafto.com/fr/convertisseur-bases-numeriques/) ([Markdown](https://acrafto.com/fr/convertisseur-bases-numeriques/index.md))
- Español (es): [Conversor de bases numéricas](https://acrafto.com/es/convertidor-sistemas-numericos-numeros-negativos/) ([Markdown](https://acrafto.com/es/convertidor-sistemas-numericos-numeros-negativos/index.md))
- Italiano (it): [Convertitore di basi numeriche](https://acrafto.com/it/convertitore-basi-numeriche/) ([Markdown](https://acrafto.com/it/convertitore-basi-numeriche/index.md))
- Português (pt): [Conversor de bases numéricas](https://acrafto.com/pt/conversor-sistemas-numericos-negativos/) ([Markdown](https://acrafto.com/pt/conversor-sistemas-numericos-negativos/index.md))
- Nederlands (nl): [Getallenstelsels omrekenen](https://acrafto.com/nl/getallenstelsel-converter/) ([Markdown](https://acrafto.com/nl/getallenstelsel-converter/index.md))
- Polski (pl): [Konwerter systemów liczbowych](https://acrafto.com/pl/konwerter-systemow-liczbowych-z-liczbami-ujemnymi/) ([Markdown](https://acrafto.com/pl/konwerter-systemow-liczbowych-z-liczbami-ujemnymi/index.md))
- Română (ro): [Convertor sisteme de numerație](https://acrafto.com/ro/convertor-sisteme-numerice-numere-negative/) ([Markdown](https://acrafto.com/ro/convertor-sisteme-numerice-numere-negative/index.md))
- Magyar (hu): [Számrendszer átváltó](https://acrafto.com/hu/szamrendszer-atalakito-negativ-szamokkal/) ([Markdown](https://acrafto.com/hu/szamrendszer-atalakito-negativ-szamokkal/index.md))
- Български (bg): [Конвертор на бройни системи](https://acrafto.com/bg/konvertor-chislovi-sistemi/) ([Markdown](https://acrafto.com/bg/konvertor-chislovi-sistemi/index.md))
- Hrvatski (hr): [Pretvarač brojevnih sustava](https://acrafto.com/hr/konverter-brojevnih-sustava-s-negativnim-brojevima/) ([Markdown](https://acrafto.com/hr/konverter-brojevnih-sustava-s-negativnim-brojevima/index.md))
- Slovenščina (sl): [Pretvorba številskih sistemov](https://acrafto.com/sl/pretvarjalnik-stevilskih-sistemov/) ([Markdown](https://acrafto.com/sl/pretvarjalnik-stevilskih-sistemov/index.md))
- Eesti (et): [Arvusüsteemide teisendaja](https://acrafto.com/et/arvususteemide-muundur/) ([Markdown](https://acrafto.com/et/arvususteemide-muundur/index.md))
- Latviešu (lv): [Skaitļu sistēmu konvertors](https://acrafto.com/lv/skaitlu-sistemu-konvertors/) ([Markdown](https://acrafto.com/lv/skaitlu-sistemu-konvertors/index.md))
- Lietuvių (lt): [Skaičių sistemų keitiklis](https://acrafto.com/lt/skaiciu-sistemu-keitiklis/) ([Markdown](https://acrafto.com/lt/skaiciu-sistemu-keitiklis/index.md))
- Svenska (sv): [Talsystemsomvandlare](https://acrafto.com/sv/talsystem-konverterare-negativa-tal/) ([Markdown](https://acrafto.com/sv/talsystem-konverterare-negativa-tal/index.md))
- Dansk (da): [Talsystem omregner](https://acrafto.com/da/talsystem-omregner/) ([Markdown](https://acrafto.com/da/talsystem-omregner/index.md))
- Suomi (fi): [Lukujärjestelmämuunnin](https://acrafto.com/fi/lukujarjestelma-muunnin/) ([Markdown](https://acrafto.com/fi/lukujarjestelma-muunnin/index.md))
- Norsk (no): [Tallsystemkonverterer](https://acrafto.com/no/tallsystemkonverterer-negative-tall/) ([Markdown](https://acrafto.com/no/tallsystemkonverterer-negative-tall/index.md))
- Українська (uk): [Конвертер систем числення](https://acrafto.com/uk/konverter-chyselnykh-system/) ([Markdown](https://acrafto.com/uk/konverter-chyselnykh-system/index.md))
- Русский (ru): [Конвертер систем счисления](https://acrafto.com/ru/konverter-sistem-schisleniya/) ([Markdown](https://acrafto.com/ru/konverter-sistem-schisleniya/index.md))
- Српски (sr): [Konverter brojevnih sistema](https://acrafto.com/sr/konverter-brojevnih-sistema/) ([Markdown](https://acrafto.com/sr/konverter-brojevnih-sistema/index.md))
- Македонски (mk): [Претворач на бројни системи](https://acrafto.com/mk/pretvornik-brojni-sistemi/) ([Markdown](https://acrafto.com/mk/pretvornik-brojni-sistemi/index.md))
- Bosanski (bs): [Konverter brojevnih sistema](https://acrafto.com/bs/konverter-brojevnih-sistema/) ([Markdown](https://acrafto.com/bs/konverter-brojevnih-sistema/index.md))
- Shqip (sq): [Konvertues sistemesh numerike](https://acrafto.com/sq/konvertues-sistemesh-numerike/) ([Markdown](https://acrafto.com/sq/konvertues-sistemesh-numerike/index.md))
- Türkçe (tr): [Sayı sistemleri dönüştürücü](https://acrafto.com/tr/sayi-sistemleri-donusturucu/) ([Markdown](https://acrafto.com/tr/sayi-sistemleri-donusturucu/index.md))
- 日本語 (ja): [進数変換](https://acrafto.com/ja/number-system-converter/) ([Markdown](https://acrafto.com/ja/number-system-converter/index.md))
- 한국어 (ko): [진법 변환기](https://acrafto.com/ko/number-system-converter/) ([Markdown](https://acrafto.com/ko/number-system-converter/index.md))
- العربية (ar): [تحويل الأنظمة العددية](https://acrafto.com/ar/number-system-converter/) ([Markdown](https://acrafto.com/ar/number-system-converter/index.md))
- हिन्दी (hi): [संख्या प्रणाली कनवर्टर](https://acrafto.com/hi/number-system-converter/) ([Markdown](https://acrafto.com/hi/number-system-converter/index.md))
- Bahasa Indonesia (id): [Konverter sistem bilangan](https://acrafto.com/id/konverter-sistem-bilangan/) ([Markdown](https://acrafto.com/id/konverter-sistem-bilangan/index.md))
- Tiếng Việt (vi): [Chuyển đổi hệ cơ số](https://acrafto.com/vi/chuyen-doi-he-co-so-so-voi-so-am/) ([Markdown](https://acrafto.com/vi/chuyen-doi-he-co-so-so-voi-so-am/index.md))
- ไทย (th): [แปลงเลขฐาน](https://acrafto.com/th/tua-plaeng-rabop-tua-lek/) ([Markdown](https://acrafto.com/th/tua-plaeng-rabop-tua-lek/index.md))
- עברית (he): [המרת בסיסים](https://acrafto.com/he/number-base-converter/) ([Markdown](https://acrafto.com/he/number-base-converter/index.md))
