15-12-2011 16:00
כאשר אתה אוכל ביצה מבושלת, מאיזה צד תשבור אותה? האם מהקצה החד או מהקצה הקהה? זהו הפולמוס המר אשר גבה קורבנות רבים במלחמות בין ממלכת ליליפוט לבין ממלכת בלפוסקו (מסעי גוליבר, מסע אל ליליפוט, פרק 4, פיסקה 5 – מאת ג'ונתן סוויפט).
בחיי היום־יום אנו נוהגים בארץ לרשום תאריך לועזי, יום חודש ולבסוף שנה. מתחילים בקצה הקטן – יום, וממנו עולים אל חודש ואל שנה. לזאת נקרא קצוּת־קטנה (או קצוּת־החוד). לעומת זאת כאשר נרשום את הזמן ביממה, נרשום שעה, אחר כך דקה ולבסוף שניה. מתחילים בקצה הגדול – שעה, וממנו יורדים אל דקה ואל שניה. לזאת נקרא קצוּת־גדולה (או קצוּת־הקוד). באנגלית נקרא לביטויים אלה Little Endian ו Big Endian בהתאמה. תרגום קלוקל אך אינטואיטיבי לביטויים אלו מצאתי בעורך הטקסט Notepad++ – אינדיאני קטן ו אינדיאני גדול... :)
הקרבות בין ממלכת ליליפוט, אשר צידדה בקצוּת־החוד, לבין ממלכת בלפוסקו, אשר צידדה בקצוּת־הקוד, שכחו לאחר בואו של גוליבר אשר השכין שלום ביניהם. בעולם המחשבים היה קרב דומה, אם כי בו לא היו הרוגים ופצועים. בית בן שמונה סיביות נהיה יחידת המידע הבסיסית הקטנה ביותר (פרט לסיבית כמובן) והוא יכול להכיל ערך בין אפס לבין זרחין וזרח בלבד (FF₁₆). מה ייעשה כאשר רוצים לשמור ערכים גדולים יותר מקיבולת של בית? הערך יכתב בשני בתים ויותר. אבל מהו סדר הבתים בזכרון המחשב?
בחברת אינטל בחרו בקצוּת־קטנה כלומר הבית אשר יכיל את הספרות הפחות חשובות במספר, יקבל את מספר התא הנמוך יותר, ואילו הבית אשר יכיל את הספרות היותר חשובות במספר, יקבל את מספר התא הגבוה יותר. – זוהי ממלכת ליליפוט.
חברת מוטורולה בחרה בדרך השניה, קצוּת־גדולה בה הבית עם הספרות היותר חשובות יקבלו את התא הנמוך יותר, ואילו הבית אשר יכיל את הספרות הפחות חשובות במספר, יקבל את מספר התא הגבוה יותר. – זוהי ממלכת בלפוסקו.
על מנת ששני מחשבים יבינו זה את זה עליהם לדבר באותה השפה ובאותו האופן וכמובן שבאותה קצוּת – Endianess