למה הקסדצימלי?
חלק מהיחידה יסודות במסלול ה-Assembly של Coddy. שיעור 10 מתוך 45.
עכשיו ידוע לך שמחשבים משתמשים בבינארי. אז למה מתכנתי אסמבלי כמעט אף פעם לא כותבים ישירות בבינארי?
הבעיה עם בינארי:
המספרים הבינאריים ארוכים מאוד. הסתכלו על הדוגמה הזאת:
| מספר | בינארי |
|---|---|
| 255 | 11111111 |
| 1000 | 1111101000 |
| 65535 | 1111111111111111 |
כתיבת מחרוזות ארוכות של 1 ו-0 היא איטית, מועדת לשגיאות וקשה לקריאה.
הפתרון: הקסדצימלי (בסיס 16).
הקסדצימלי (או "hex") משתמש ב-16 סמלים:
| ספרה | ערך |
|---|---|
| 0-9 | 0 עד 9 |
| A | 10 |
| B | 11 |
| C | 12 |
| D | 13 |
| E | 14 |
| F | 15 |
למה הקסדצימלי מושלם למחשבים:
כל ספרה הקסדצימלית מייצגת בדיוק 4 ביטים (חצי בית).
| ביטים | מספר הספרות ההקסדצימליות הנדרשות |
|---|---|
| 4 ביטים (ניבל) | ספרה הקסדצימלית אחת |
| 8 ביטים (בית אחד) | 2 ספרות הקסדצימליות |
| 16 ביטים (2 בתים) | 4 ספרות הקסדצימליות |
| 32 ביטים (4 בתים) | 8 ספרות הקסדצימליות |
| 64 ביטים (8 בתים) | 16 ספרות הקסדצימליות |
אותו מספר, שלוש דרכים:
| עשרוני | בינארי | הקסדצימלי |
|---|---|---|
| 255 | 11111111 | FF |
| 1000 | 1111101000 | 3E8 |
| 65535 | 1111111111111111 | FFFF |
שימו לב כמה הקסדצימלי קצר יותר מבינארי.
היכן תראו הקסדצימלי בשפת אסמבלי:
- כתובות זיכרון (כמו
0x7FFFאו0x402000) - קודי ASCII (כמו
0x41עבור 'A',0x0aעבור שורה חדשה)
- ערכי רגיסטרים במנפי שגיאות
- ערכי צבע (כמו
0xFF0000עבור אדום)
מספר הקסדצימלי נכתב עם קידומת:
| קידומת | דוגמה | משמעות |
|---|---|---|
0x | 0xFF | FF בבסיס הקסדצימלי (255 בבסיס עשרוני) |
$ | $FF | אותו הדבר (בשימוש בחלק מהאסמבלרים) |
h | FFh | אותו הדבר (סגנון ישן יותר) |
בקורס הזה, אנחנו משתמשים בקידומת 0x: 0x0a, 0x41, 0xFF.
נסו בעצמכם
השיעור הזה לא כולל אתגר קוד.
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
2שיטות ספירה
למה בינארי?מספרים בינארייםמעשרוני לבינארילמה הקסדצימלי?מהקסדצימלי לעשרונימעשרוני להקסדצימליASCII והקסדצימליתרגלו בעצמכם: Assembly אונליין