חלוקה בשתיים

מתוך ויקיפדיה, האנציקלופדיה החופשית

חלוקה בשתיים או חצייה היא פעולת חילוק שבה המחלק הוא 2.

חלוקה זו זכתה ליחס מיוחד כבר במצרים העתיקה, שם אלגוריתם הכפל כלל חלוקה בשתיים כאחד הצעדים הבסיסיים. מתמטיקאים אחדים, עד המאה ה-16 המשיכו להתייחס לחלוקה בשתיים כאל פעולה נפרדת. במחשב, שבו מיוצגים מספרים בבסיס בינארי, קיימת פקודת מכונה מיוחדת לחלוקה בשתיים (או בכל חזקה טבעית של 2), נפרדת מפקודת החלוקה הכללית במספר שלם, וברוב המעבדים גם מהירה ממנה.

מספר זוגי הוא מספר שמתחלק ב-2 ללא שארית, ואילו מספר אי-זוגי נותן שארית 1 בעת חלוקתו ב-2. ניתן לנסח זאת כמבחן התחלקות: מספר מתחלק ב-2 אם ורק אם ספרת האחדות שלו מתחלקת ב-2.

אריתמטיקה בינארית[עריכת קוד מקור | עריכה]

חלוקה בשתיים של מספר בינארי נעשית פשוט באמצעות הזחת המספר סיבית אחת ימינה. דוגמה: חלוקה בשתיים של המספר הבינארי 1101001 (שהוא 105 עשרוני), נותנת, בהסרת הסיבית הימנית, את המנה 110100 (52 עשרוני). חלוקה בכל חזקה של שתיים, , נעשית באמצעות הזחת המספר סיביות ימינה.

הזחה ימינה היא בדרך כלל פעולה פשוטה ומהירה מאשר חלוקה, ולכן החלפת חלוקה בשתיים בהזחה היא דרך לאופטימיזציה של התוכנית. עם זאת, משיקולים של קריאוּת וניידות של התוכנה, בשפה עילית עדיף להשתמש בפקודת חלוקה ולא בהזחה, ולתת למהדר לבצע את האופטימיזציה. כאשר המחולק הוא מספר בעל סימן (כלומר יכול להיות חיובי או שלילי) לא תמיד אפשרית אופטימיזציה זו. בשפת Java, למשל, הוראה החלוקה -3 / 2 תיתן תוצאה -1, ואילו הוראת ההזחה -3 >> 1 תיתן תוצאה -2, עקב הבדלים באופן העיגול בשתי ההוראות.

אריתמטיקה בינארית בנקודה צפה[עריכת קוד מקור | עריכה]

חלוקה בשתיים של מספר בינארי בנקודה צפה נעשית באמצעות הפחתת 1 מהמעריך. שפות תכנות רבות כוללות לפיכך פונקציה לחלוקת מספר בנקודה צפה בחזקה של שתיים. בשפת Java משמשת לכך המתודה java.lang.Math.scalb, ובשפת C משמשת לכך הפונקציה ldexp.

גאומטריה[עריכת קוד מקור | עריכה]

הגאומטריה עוסקת במקרים אחדים של חצייה:

תורת המשחקים[עריכת קוד מקור | עריכה]

חלוקה הוגנת היא בעיה בתורת המשחקים הדנה בחלוקת משאב באופן שיגרום לכל אחד מהשחקנים להאמין שקיבל חלק הוגן. הבעיה ידועה גם בשם "בעיית חלוקת העוגה". כאשר מדובר בחלוקת עוגה בין שני שחקנים, חלוקה הוגנת נעשית באמצעות שיטת 'חלק ובחר'. שחקן אחד מחלק פרוסת עוגה לשני חלקים הנראים לו שווים והשחקן השני בוחר איזה חלק הוא רוצה מבין השניים. לשחקן שמחלק יש סיבה לחלק בצורה כמה שיותר הוגנת. אחרת, הוא עלול להישאר עם החלק הקטן יותר. חלוקה זו היא חלוקה נטולת-קנאה.

ראו גם[עריכת קוד מקור | עריכה]