בסיס הקסדצימלי
מתוך ויקיפדיה, האנציקלופדיה החופשית
שיטות ספירה |
---|
אטרוסקיות | עבריות | חמר | יווניות | יווניות אטיקות | יפניות | מאיה | מצריות | סיניות | קוראניות | קיריליות | רומיות |
בסיס |
ספירה על בסיס הקסדצימלי היא ספירה על בסיס 16. היא משמשת כיום בעיקר בתחום המחשבים. שימושה דומה לבסיס האוקטלי, אבל יש לה יתרון נוסף: שתי ספרות הקסדצימליות הן בדיוק בַּיִת אחד - יחידה שגודלה 8 סיביות. בספירה ההקסדצימלית הספרות מ-0 עד 9 נראית כמו דומיהן העשרוניות, אולם הספרות הבאות הן האותיות מ-A, המייצגת 10, עד F המייצגת 15.
שפות תכנות רבות מאפשרות כתיבה של קבועים הקסדצימליים, שמייצגים לא רק ספרות אלא תווים כלשהם, כגון תווי ASCII. בשפת C, למשל, קבוע הקסדצימלי מתחיל בסימן '0x', למשל 0x5A.
תוכן עניינים |
[עריכה] טבלת המרה לבסיס בין בסיסי מספרים נפוצים
0hex | = | 0dec | = | 0oct | 0 | 0 | 0 | 0 | |||
1hex | = | 1dec | = | 1oct | 1 | 0 | 0 | 0 | |||
2hex | = | 2dec | = | 2oct | 0 | 1 | 0 | 0 | |||
3hex | = | 3dec | = | 3oct | 1 | 1 | 0 | 0 | |||
4hex | = | 4dec | = | 4oct | 0 | 0 | 1 | 0 | |||
5hex | = | 5dec | = | 5oct | 1 | 0 | 1 | 0 | |||
6hex | = | 6dec | = | 6oct | 0 | 1 | 1 | 0 | |||
7hex | = | 7dec | = | 7oct | 1 | 1 | 1 | 0 | |||
8hex | = | 8dec | = | 10oct | 0 | 0 | 0 | 1 | |||
9hex | = | 9dec | = | 11oct | 1 | 0 | 0 | 1 | |||
Ahex | = | 10dec | = | 12oct | 0 | 1 | 0 | 1 | |||
Bhex | = | 11dec | = | 13oct | 1 | 1 | 0 | 1 | |||
Chex | = | 12dec | = | 14oct | 0 | 0 | 1 | 1 | |||
Dhex | = | 13dec | = | 15oct | 1 | 0 | 1 | 1 | |||
Ehex | = | 14dec | = | 16oct | 0 | 1 | 1 | 1 | |||
Fhex | = | 15dec | = | 17oct | 1 | 1 | 1 | 1 | |||
[עריכה] חישוב והמרת מספר דצימלי למספר הקסדצימלי
ההעברה ממספר דצימלי למספר הקסדצימלי היא פשוטה למדי. מעורבות בה מספר פעולות חילוק פשוטות אשר מעבירות את המספר הדצימלי (בסיס 10) למספר הקסדצימלי (בסיס 16).
הפעולה הנדרשת להעברת מספר דצימלי להקסדצימלי היא חילוק ב-16. לאחר החילוק, ההפרש נותר בעל שלם ושארית (או שארית 0). כדי לקבל את המספר ההקסדצימלי, נחלק את המספר הדצימלי ב-16, נרשום את השארית (נתרגם אותה למספר הקסדצימלי אם היא עוברת את גבול ה-9, כלומר 10 ומעלה כולל) ואת השלם נחלק שוב, עד שנקבל מספר הקטן מ-1, כלומר מספר שיהיה x/16.
דוגמה:
ניקח לדוגמה את המספר 7894652.
נחלק אותו פעם ראשונה ב-16. נקבל את המספר 493415 ושארית 12. לכן נרשום בצד 12 ונמיר זאת בספרה ההקסדצימלית C.
נחלק שוב את 493415 ב-16. נקבל את המספר 30838 ושארית 7. לכן, נצרף לC את 7, משמאלו. כעת המספר ההקסדצימלי הוא: 7C.
נחלק שוב את 30383 ב-16 ונקבל 1927 ושארית 6. נוסיף גם הפעם את 6 למספר ההקסדצימלי. כעת הוא עומד על:67C.
שוב נחלק את 1927 ב-16. נקבל 120 ושארית 7. נוסיף את ה-7 למספר ההקסדצימלי: 767C.
נחלק שוב את 120 ב-16, נקבל 7 ושארית 8. נוסיף את 8 למספר ההקסדצימלי: 8767C.
נחלק פעם אחרונה את 7 ב-16 ונקבל 0 ושארית 7. נוסיף את 7 למספר ההקסדצימלי: 78767C.
לאחר שסיימנו לחלק את כל המספרים והשלם נותר 0, קיבלנו את המספר ההקסדצימלי: 78767C.
[עריכה] חישוב והמרת מספר הקסדצימלי למספר דצימלי
הרעיון הבסיסי של חישוב מספר הקסדצימלי הוא התאמת הספרה הדצימלית לעומת הספרה ההקסצימלית. להלן טבלה שמציגה את הערך הדצימלי לעומת הערך ההקסדצימלי:
Hex | 100 | 101 | 102 | 103 | 10n |
---|---|---|---|---|---|
Dec | 160 | 161 | 162 | 163 | 16n |
עבור כל ספרה במספר ההקסדצימלי ניצבת ספרה דצימלית. כלומר, כדי להעביר את המספר ההקסדצימלי למספר דצימלי, אנו נצטרך להכפיל את הספרה ההקסדצימלי, הממורת לערך הדצימלי שלה (A-10 B-11 וכדומה) במקבילה הדצימלית שלה (מבחינת מיקום הספרה במספר. האם ספרה היא אחדה, עשרה, מאה וכדומה).
n1*100+n2*101+n3*102+n4*103+...+nm*10m-1 |
לאחר מכן, להחליף את הבסיס 16 בבסיס 10 על ידי הכפלת הספרות ב16, במקום ב-10.
n1*160+n2*161+n3*162+n4*163+...+nm*16m-1 |
דוגמה: נתון המספר ההקסדצימלי AF34BD. נפרק את המספר לספרותיו. בעצם נתון לנו כאן D אחדות, B עשרות, 4 מאות, 3 אלפים, F עשרות אלפים ו-A מאות אלפים. במילים אחרות, אפשר לתרגם את המשפט הנ"ל למשפט בעל ביטויים מתמטיים:
D*100+B*101+4*102+3*103+F*104+A*105 |
ואם נמיר את הערכים ההקסדצימליים לערכים הדצימליים שלהם (קרי, האותיות למספרים) המשפט יראה כך:
13*100+11*101+4*102+3*103+15*104+10*105 |
ולבסוף, בשביל להעביר את הבסיס, מהקסדצימלי לדצימלי, עלינו להחליף את בסיסי המעריכים מ-10 ל-16, לכן המשפט המתמטי יראה לבסוף כך:
13*160+11*161+4*162+3*163+15*164+10*165 |
נשאר רק לפתור את הביטוי, ולקבל את התוצאה: 11482301, שהיא AF34BD בערכים דצימליים.