Loading AI tools
שיטת ספירה על בסיס 16 מוויקיפדיה, האנציקלופדיה החופשית
ספירה על בסיס הקסדצימלי היא ספירה על בסיס 16. היא משמשת כיום בעיקר בתחום המחשבים, בזכות התאמתה לייצוג תוכנו של זיכרון המחשב - שתי ספרות הקסדצימליות מייצגות בדיוק 8 ספרות בינאריות, סיביות, כלומר בַּית אחד. גודל זה של בית הוצג בשנות ה-50 של המאה ה-20 במחשב IBM 7030 Stretch, וזכה לפופולריות שהפכה אותו לגודל סטנדרטי עם הצגתם של מחשבי IBM System/360 באמצע שנות ה-60.
בבסיס זה יש 16 ספרות: הספרות מ-0 עד 9 זהות לספרות אלה בבסיס עשרוני, ואת 6 הספרות הבאות מסמנים באותיות מ-A, המייצגת 10 (בבסיס עשרוני), עד F המייצגת 15 (בבסיס עשרוני) ו-10 בבסיס הקסדצימלי (וכפולותיו) מייצג 16 בבסיס עשרוני (וכפולותיו). כך לדוגמה המספר 40h מייצג 64 (4*16) בבסיס עשרוני.
שפות תכנות רבות מאפשרות כתיבה של קבועים הקסדצימליים, שמייצגים לא רק ספרות אלא תווים כלשהם, כגון תווי ASCII.
השיטות הבאות כולן שיטות תקפות לייצוג מספרים הקסדצימליים:
- רישום הבסיס 16 מתחת למספר – לדוגמה F1B816
- הוספת האות h בסוף המספר. בשיטת ייצוג זו, כאשר המספר מתחיל באות, מוסיפים '0 'מצד שמאל. לדוגמה 0F1B8h (ניתן להוסיף אפסים מצד שמאל בכל מקרה, אבל כאשר המספר מתחיל באות- חייבים להוסיף)
- הוספת הצירוף 0x בתחילת המספר – לדוגמה 0xF1B8
ההעברה ממספר דצימלי (בסיס 10) למספר הקסדצימלי (בסיס 16) נעשית בסדרה של פעולות חילוק.
הפעולה הנדרשת להעברת מספר דצימלי להקסדצימלי היא חילוק עם שארית ב-16. נחלק את המספר הדצימלי ב-16, נרשום את ספרת השארית (בבסיס הקסדצימלי). נחזור על התהליך שוב עם תוצאת החלוקה עד שהתוצאה תהיה 0. את הספרות שקיבלנו כשאריות יש לכתוב מימין לשמאל כדי לקבל את המספר ההקסדצימלי.
ניקח לדוגמה את המספר 4387256:
קיבלנו ש-4387256 בבסיס דצימלי הוא 42F1B8 בבסיס הקסדצימלי.
כדי להעביר מספר הקסדצימלי למספר דצימלי, יש להכפיל את הספרה ההקסדצימלית, המומרת לערך הדצימלי שלה (A=10 ,B=11 וכו') בחזקה המתאימה של 16, לפי מיקום הספרה במספר, האם ספרה היא אחדה, עשרה, מאה וכדומה).
n1*160+n2*161+n3*162+n4*163+...+nm*16m-1 |
דוגמה: נתון המספר ההקסדצימלי AF34BD. נפרק את המספר לספרותיו. בעצם נתון לנו כאן D אחדות, B עשרות, 4 מאות, 3 אלפים, F עשרות אלפים ו-A מאות אלפים. במילים אחרות, אפשר לתרגם את המשפט הנ"ל לביטוי הבא:
D*160+B*161+4*162+3*163+F*164+A*165 |
ואם נמיר את הערכים ההקסדצימליים לערכים הדצימליים שלהם (קרי, האותיות למספרים) הביטוי יראה כך:
13*160+11*161+4*162+3*163+15*164+10*165 |
נשאר רק לפתור את הביטוי, ולקבל את התוצאה: 11482301, שהיא AF34BD בערכים דצימליים.
כדי להעביר מספר הקסדצימלי למספר בינארי ניתן להפוך כל ספרה הקסדצימלית לארבע הספרות הבינאריות המתאימות לה, ולאחר מכן לכתוב אותן לפי הסדר של המספר ההקסדצימלי.
דוגמה: נתון המספר ההקסדצימלי AF34BD. ניקח כל ספרה הקסדצימלית, ונהפוך אותה למספר בינארי בן 4 ספרות.
A בבסיס 16 שווה ל-1010 בבסיס 2
F בבסיס 16 שווה ל-1111 בבסיס 2
3 בבסיס 16 שווה ל-0011 בבסיס 2
4 בבסיס 16 שווה ל-0100 בבסיס 2
B בבסיס 16 שווה ל-1011 בבסיס 2
D בבסיס 16 שווה ל-1101 בבסיס 2
כעת נכתוב את כל ספרות המספרים הבינאריים לפי הסדר ההקסדצימלי: 101011110011010010111101 (אם הספרה השמאלית ביותר של התוצאה היא 0 יש להשמיטה עד שנגיע למצב בו הספרה השמאלית ביותר היא 1).
קיבלנו שהתוצאה 101011110011010010111101 היא AF34BD בערכים בינאריים.
כדי להעביר מספר בינארי למספר הקסדצימלי ניתן לחלק את המספר הבינארי לקבוצות של 4 ספרות כל אחת (במידה, ומספר הספרות הבינאריות אינו מתחלק ב-4 כמו מספר בעל 7 ספרות יש להוסיף 0 משמאל למספר כדי להגיע למספר ספרות המתחלק ב-4). לאחר מכן יש להפוך כל 4 ספרות בינאריות מימין לשמאל בספרה ההקסדצימלית המתאימה לה, ולבסוף לכתוב אותן לפי הסדר הבינארי.
דוגמה: נתון המספר הבינארי 110110110
המספר הבינארי בעל 9 ספרות, ולכן יש להצמיד לשמאלו שלושה אפסים כדי להביאו למצב שבו מספר הספרות יתחלק ב-4: 000110110110
0001 בבסיס 2 שווה ל-1 בבסיס 16
1011 בבסיס 2 שווה ל-B בבסיס 16
0110 בבסיס 2 שווה ל-6 בבסיס 16
כעת נכתוב את כל ספרות המספרים ההקסדצימליים לפי הסדר הבינארי: 1B6
קיבלנו שהתוצאה 1B6 היא 110110110 בערכים הקסדצימליים.
התכונה הזו, המעבר הפשוט מבינארי להקסדצימלי ולהפך, הוא מה שהופך את השיטה ההקסדצימלית לשימושית בעולם המחשבים. במקום לזכור רצפים של אחדות ואפסים שנמצאים בזיכרון המחשב, יותר קל להכניס ערכים הקסדצימליים והסיכוי לטעות נעשה נמוך יותר.
עשרוני: | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
הקסדצימלי: | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | 10 |
אוקטלי: | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 20 |
בינארי: | 0000 | 0001 | 0010 | 0011 | 0100 | 0101 | 0110 | 0111 | 1000 | 1001 | 1010 | 1011 | 1100 | 1101 | 1110 | 1111 | 10000 |
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.