ציטוט:
נכתב במקור על ידי kfir_dnd
טוב קודם כל נראה לי שכדאי שאני אסביר לך למה הגבול במשתנה שציינת הוא משהו כי נוצר לי הרושם שאתה לא מבין למה. מאחר ואתה פונה לdouble word כלומר ל32 סיביות או 4 בטים ואתה בוחר לפנות למספרים מסומנים כלומר חיובים ושלילים המספר מתקבל מהנוסחה הנ"ל
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 היא השפה הקרובה ביותר לשפת מכונה שקיימת היא תיתן לך מושג דיי ברור איך המחשב באמת עובד.
מקווה שהבנת 
|
אני אעבור חלק חלק:
1. תודה רבה לך על ההסבר המקיף. אני חושב שזה לא יותר מידע כללי למתכנת WEB בלבד, אבל בכל זאת תודה.
2. חבל לי לשמוע שאתה עושה את ההכללות האלו ומחליט שמתכנת PHP שלא יודע כיצד עובד מעבד הוא מתכנת פחות טוב. אבל אחד לא אמר שאני צריך לדעת את זה, ובכל זאת בגלל שזה נושא שעניין אותי פתחתי נושא.
3. אין לי מה ללמוד אסמבלי כל עוד אני נשאר בWEB, אם אני אחליט לעבור לתכנות אפליקציות לא רק ברשת אני אלמד את הנושא.
4. אני מתאר לעצמי שמעבדים שלא מבוססים על בינארים יעבדו הרבה יותר מהר מהמעבדים היום, ולכן מהלך כזה הוא הכרחי בשלב מסויים.