גלישה נומרית

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

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

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

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

שיגור הניסוי הראשון של משגר הלוויינים אריאן 5, ב־4 ביוני 1996, הסתיים בהשמדה עצמית 40 שניות לאחר שהחל, כתוצאה מבאג של גלישה נומרית במחשב הניווט של המשגר. הבאג נגרם כתוצאה מניסיון להעביר מספר בן 64 סיביות בנקודה צפה למספר שלם בן 16 סיביות; ניסיון שגרם להפסקת פעולתו של המחשב.[1]

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

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

  1. ^ A Bug and a Crash - Sometimes a Bug Is More Than a Nuisance,‏ James Gleick, ניו יורק טיימס, 1 בדצמבר 1996 (פרסום חוזר באתר אחר)