![]() |
[PHP] משהו שחשבתי עליו..
למי שלא יודע יש לPHP מספר (אינטיגר) מקסימלי בו היא תומכת.
המספר נמצא במשתנה PHP_INT_MAX ונכון לעכשיו הוא עומד על 2147483647. כל מספר שתנסו לעבוד עליו מעל המספר הזה פשוט לא יעבוד. עכשיו בשביל לשים עוגיה שתפעל לעוד הרבה זמן אני משתמש בPHP_INT_MAX בערך של הזמן - זה הערך הכי גבוה שאפשר לשים שם. PHP_INT_MAX עם הפונקצייה mktime מגיע ל19 ינואר 2038. מה שאומר שאחרי התאריך הזה לא יהיה אפשר יותר להשתמש בPHP בהרבה היבטים - לוחות שנה, עוגיות ועוד. מה זה אומר? שמתי לב ש19 לינואר 2038 מופיע גם בדיונים על מייקרוסופט כמה פעמים. זה אומר שעד 2038 יהיו חייבים להמציא נגלה חדשה של שפות תכנות? |
הערך הזה הוא כזה כי זה הערך המקסימלי של משתנה של 32 BIT שיכול להכיל גם מספרים שליליים.
עד אז אני מקווה שיעשו איזה איפוס לפונקצית time וגם סביר להניח שאז המעבדים יהיו 64 BIT ולא תהיה בעיה להשתמש ב 64 BIT למשתנה(וכבר היום אין כ"כ בעיה למי שרוצה) |
חח אני זוכר שהיתה בעיה כזאת במשחק גינדיס עם כמות נשק שאפשר לקנות בכל מקרה פתרו את זה שם אז יכולים לפתור גם פה
ואני מאמין שבגרסה הבאה זה יפתר |
זה כמו שיש תאריך ב1970 שקשור ליוניקס
פעם קראתי על זה והתעניינתי אני כרגע אחרי הרבה זמן בלי שינה אז קשה לי לפרט. |
אפשר להשתמש ב double לא? :x
|
אין שום סיבה שלא יאפסו את time()..
וגם כמו שבניה אמר, כנראה שיעברו עד אז ל64. |
ציטוט:
ציטוט:
בכל מקרה אם עד אז יהיו בשוק רק מעבדי 64 ביט תיווצר בעיה חדשה, שבה התאריך המקסימלי הוא כפול מזה וכו' וכו'.. צריך להיות פתרון אבסולוטי לא? ציטוט:
ציטוט:
|
נראה לי שאפשר לכתוב איזה משהו שידע לחשב מעל 32 BIT במעבדים 32 BIT רק שזה יהיה פחות יעיל.
אם אתה צריך את זה, אני בטוח שאפשר למצוא דברים בגוגל. וגם תחשוב לכמה שנים 64BIT יספיק:-) בקשר לאיפוס time, מה לעשות, לפעמים צריך לנטוש דברים ישנים שמגבילים. ואם יעשו מעבר מדורג יהיה אפשר להפתר מזה בלי יותר מידי בעיות. |
או פונקציה חדשה;)
|
ציטוט:
2^(n-1)-1 אם נציב במקום n את המספר 32 נקבל 2^31-1=2,147,483,648 ומכאן נובע שתחום המספרים הוא -2,147,483,648 עד 2,147,483,647. אני מקווה שעכשיו זה ברור ועכשיו אני אסביר לגבי ההמשך. double word היא היחידה הגדולה ביותר שקיימת כיום (MB זה בערך מיליון בייטים, GB זה בערך מיליאד בייטים וכך הלאה). מה שזה אומר זה לא שלא יהיה אפשר להשתמש בשפות התכנות שקיימות היום גם מאוחר יותר אלא שיהיה צורך להרחיב את המשתנה שציינת ומאחר והמשתנה הזה הוא כבר בגודל הגדול ביותר שקיים יהיה צורך ליצור משתנה עזר שיעבוד יחד איתו כדי לחשב את הנתונים. דוגמה דומה לזה היא הכתובת המוחלטת שנוצרת במעבד משילוב של משתני הסיגמנטים וIP. אני מצטער מאוד לשמוע שאתה מסוגל לתכנת בPHP ואינך יודע מה בעצם אתה עושה עם הפקודות הללו ואיך הם באמת עובדות במחשב שלך. אני ממליץ לך ללמוד קצת assembler. אין צורך להעמיק במיוחד אבל מאחר וassembler היא השפה הקרובה ביותר לשפת מכונה שקיימת היא תיתן לך מושג דיי ברור איך המחשב באמת עובד. מקווה שהבנת :) ציטוט:
|
| כל הזמנים הם GMT +2. הזמן כעת הוא 21:33. |
מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ