ebooksgratis.com

See also ebooksgratis.com: no banners, no cookies, totally FREE.

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
באג 2038 – ויקיפדיה

באג 2038

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

באג 2038 הוא באג דמוי "באג 2000", שעלול לגרום לתקלות בתוכנה המשתמשת בשיטת POSIX לחישוב הזמן. לפי שיטה זו מיוצגת נקודת זמן כמספר השניות שחלפו מחצות הלילה של ה-1 בינואר 1970. מספר זה מיוצג באמצעות משתנה מסוג signed 32-bit integer (מספר שלם בגודל 32 ביט, בעל סימן המיוצג במחשב בשיטת משלים ל-2; כלומר, כזה שיכול להיות חיובי או שלילי). הערך החיובי המקסימלי שמשתנה מסוג זה יכול לקבל הוא 2,147,483,647 = 1 - 31 2. מספר זה של שניות יסתיים ב-19 בינואר 2038 בשעה 03:14:07 UTC. לאחר מועד זה יקרה overflow למספר וערכו יחושב כשלילי.

המועד יצוג המספר בזיכרון
לפני 11111111 11111111 11111111 01111111
אחרי 00000000 00000000 00000000 10000000

בשיטת המשלים ל-2 ערך זה יפורש כ 2,147,483,648- = 31 2-. כלומר, לאחר המועד המחשב "יחשוב" שהתאריך הוא דצמבר 1901 וכל תוכנה שחישובייה מתבססים על שעון זה לא תעבוד נכון.

[עריכה] פתרונות

פתרון אפשרי אחד הוא להגדיר את המספר כ-unsigned, כלומר ללא סימן ובכך לדחות את הבעיה מ 2038 ל 2106. פתרון זה יכול ליצור בעיות למספר תוכנות שמחשבות הפרשי זמנים.

פתרון נוסף הוא לשנות את התקן ולהגדיר את הזמן כמשתנה מסוג signed 64-bit integer, כלומר מספר בעל 64 ביטים, ובכך אנו דוחים את הבעיה לשנת 292,471,210,647 (כ- 280 מיליארד שנה אחרי שהשמש תכבה). פתרון זה בעייתי ליישום מפני שהוא כרוך בשינוי תקן שעליו מסתמכות תוכנות רבות.

ערך זה הוא קצרמר בנושא מחשבים. אתם מוזמנים לתרום לוויקיפדיה ולהרחיב אותו.


aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -