בסיס אוקטלי

ספירה על בסיס אוקטלי היא ספירה על בסיס 8. ספירה זו משמשת במחשבים, על מנת להקל את העבודה עם הספירה הבינארית. כל ספרה אוקטלית מייצגת שלוש ספרות בינאריות בדיוק. הבסיס 8 נבחר למטרה זו, כי הוא "מכסה" את המספר המקסימלי של ספרות בינאריות, כך שניתן להשתמש בו בספרות בלבד. הספרות הקיימות בבסיס אוקטלי הן 0 עד 7, כאשר המספר בבסיס אוקטלי שבא לאחר 7 הוא 10. כיום נהוג יותר להשתמש בספירה הקסדצימלית, על בסיס 16, שדורש שימוש באותיות בנוסף לספרות. מבסיס אוקטלי קל לבצע המרות לבסיסים אחרים שהם חזקה של שתיים, שלכולם מכנה משותף, ויש לו יישומים במתמטיקה שימושית ובאלגוריתמים מתקדמים במדעי המחשב, שם משתמשים בבסיס בינארי, בבסיס הקסדצימלי ובבסיס אוקטלי למעגלים לוגיים. בסיס הספירה העשרונית הוא 10, משום שלספירה זו 10 סימנים. פירוק מספר עשרוני: 1452 = 1 ⋅ 1000 + 4 ⋅ 100 + 5 ⋅ 10 + 2 = 1 ⋅ 10 3 + 4 ⋅ 10 2 + 5 ⋅ 10 1 + 2 ⋅ 10 0 {\displaystyle \!\,1452=1\cdot 1000+4\cdot 100+5\cdot 10+2=1\cdot 10^{3}+4\cdot 10^{2}+5\cdot 10^{1}+2\cdot 10^{0}} אנו רואים כי הבסיס המשותף לכל האיברים הוא 10. בסיס הספירה האוקטלית הוא 8, לכן נפרק את המספר האוקטלי הבא בדומה לפירוק המספר העשרוני: 134 = 1 ⋅ 8 2 + 3 ⋅ 8 1 + 4 ⋅ 8 0 = 64 + 24 + 4 = 92 {\displaystyle \!\,134=1\cdot 8^{2}+3\cdot 8^{1}+4\cdot 8^{0}=64+24+4=92} מכאן שהמספר 134 בספירה אוקטלית שקול למספר 92 בספירה עשרונית. לכן נציג נוסחה כללית, למעבר מספרה המוצגת בבסיס אוקטלי לבסיס עשרוני (באגף השמאלי מופיע המספר בספרות אוקטליות, ומימין משמעותו בספרות עשרוניות): a 1 a 2 a 3 . . . a n = a 1 ⋅ 8 n − 1 + a 2 ⋅ 8 n − 2 + a 3 ⋅ 8 n − 3 + . . . + a n ⋅ 8 0 {\displaystyle \!\,a_{1}a_{2}a_{3}...a_{n}=a_{1}\cdot 8^{n-1}+a_{2}\cdot 8^{n-2}+a_{3}\cdot 8^{n-3}+...+a_{n}\cdot 8^{0}} השיטה הקלה ביותר להעברה מבסיס עשרוני לבסיס אוקטלי היא שיטת החילוק. בשיטה זו, מחלקים את המספר העשרוני בשמונה, את השארית כותבים כסיפרה הימנית במספר החדש בבסיס שמונה. לאחר מכן מחלקים את התוצאה שהתקבלה ללא השארית (אם הייתה) ב-8 שוב. השארית תרשם כסיפרה הבאה משמאל לסיפרה הקודמת. התהליך מסתיים כאשר תוצאת החלוקה היא 0. רצף השאריות יוצר את המספר בבסיס האוקטלי, כאשר השארית הראשונה שקיבלנו היא הספרה הימנית ביותר של המספר בבסיס האוקטלי. נדגים את השיטה: נעביר את המספר 92 מבסיס עשרוני לבסיס אוקטלי. 92 חלקי 8 שווה ל-11, ושארית 4. 11 חלקי 8 שווה ל-1, ושארית 3. 1 חלקי 8 שווה ל-0, ושארית 1. מכיוון שהגענו ל-0, סיימנו את המעבר, וקיבלנו את המספר בבסיס אוקטלי: 134. ניתן להמשיך לחלק שוב ושוב בשמונה, אולם דבר זה רק יוסיף אפסים משמאל למספר, דבר שלא ישנה את המספר עצמו. מכיוון שלבסיס אוקטלי ולבסיס בינארי יש מכנה משותף, 2, ניתן להעביר מספר מבסיס אוקטלי לבסיס בינארי בקלות. כדי להעביר מבסיס אוקטלי, יש לקחת את כל אחת מספרות המספר, ולהמיר אותן בנפרד לבסיס בינארי, כאשר כל ספרה אוקטלית מיוצגת על ידי שלוש ספרות בינאריות, וזאת משום ששלוש ספרות בינאריות יכולות לייצג 2 3 {\displaystyle 2^{3}} ספרות, כלומר 0–7. דרושות שלוש ספרות בינאריות על כל ספרה אוקטלית, גם אם הספרה הבינארית השמאלית ביותר היא 0, וזאת משום שלאפסים בצד השמאלי של המספר אין משמעות בסוף המילה, אולם יש להם משמעות רבה באמצע המילה, כפי שנראה בהמשך. לאחר ההמרה יש פשוט לחבר את כל הספרות הבינאריות לרצף אחד כאשר הספרה הימנית ביותר בבסיס האוקטלי היא גם הימנית ביותר בבסיס הבינארי, והמספר שיוצא הוא הייצוג הבינארי של המספר האוקטלי. ניקח לדוגמה את המספר 153. הספרה 3 מיוצגת בבינארית על ידי הספרות 011, הספרה 5 מיוצגת בבינארית על ידי הספרות 101, והספרה 1 מיוצגת בבינארית על ידי הספרות 001. נחבר את המספרים ביחד, ונקבל 001101011. נוריד את האפסים המיותרים ונשאר עם 1101011, המספר בבסיס בינארי. כדי להעביר מספר מבסיס בינארי לבסיס אוקטלי, יש לבצע את התהליך ההפוך מהעברה מבסיס אוקטלי לבסיס בינארי: תחילה, יש לקבץ כל שלוש ספרות בינאריות ביחד, החל מהספרות הכי ימניות. אם בסוף המספר חסרות ספרות, יש להשלים אותן על ידי אפסים. לאחר מכן, יש להמיר כל שלוש ספרות בינאריות לספרה אוקטלית, ולחבר את רצף הספרות על פי הסדר למספר אוקטלי אחד. ניקח לדוגמה את המספר הבינארי 1101011: תחילה נחלק את המספר לשלשות, ונקבל 011, 101, ו1, שלו נוסיף אפסים כדי לקבל 001. לאחר מכן, נמיר כל אחת מהשלשות למספר אוקטלי: 011 מייצג את הספרה 3, 101 מייצג את הספרה 5, ו-001 מייצג את הספרה 1. המספר המתקבל הוא 153, והוא המספר המבוקש בבסיס אוקטלי. מונחים בתוכנה סיבית בסיס עשרוני בסיס בינארי בסיס הקסדצימלי בסיס אוקטלי, באתר MathWorld (באנגלית)