איך המחשב קורא את הביטים בזכרון?
-
לא ברור לי האם גודל הזכרון זה כמות בתים (* 8 ביטים) ממשיים או ערך מקסימלי שהוא יכול לאגור בתוכו.
לדוגמא 32 ביתים בשרשור יכול להכיל ערך עד 4 מליארד.
אז מדוע מע' 32 בית יכול לקרוא זכרון "באורך" 4 מליארד בתים?
כלומר, מדוע זה תלוי אחד בשני? איך זה עובד?mat שלח אותי ללמוד על שערים לוגיים, אכן למדתי משם כמה מושגים מענינים, לא הכל הבנתי.
מתחיל להתחדד בי ההכרה שאני לא מוכרח לדעת א"ז בשביל לתכנת, אבל אני בכ"ז מנסה.
תודות לעונים!
פורסם במקור בפורום CODE613 ב16/02/2015 02:57 (+02:00)
-
לא ברור לי האם גודל הזכרון זה כמות בתים (* 8 ביטים) ממשיים או ערך מקסימלי שהוא יכול לאגור בתוכו.
לדוגמא 32 ביתים בשרשור יכול להכיל ערך עד 4 מליארד.
אז מדוע מע' 32 בית יכול לקרוא זכרון "באורך" 4 מליארד בתים?
כלומר, מדוע זה תלוי אחד בשני? איך זה עובד?לא הבנתי לגמרי את השאלות.
אם השאלה שלך האם הזיכרון מאוכלס או רק תפוס, זה למעשה בדיוק אותו הדבר. זיכרון תפוס זה שריון של זיכרון עבור משתנה כאשר המשתנה פשוט "מראה" את מה שכתוב במקום שנתפס עבורו.
משתנה מסוג int בשפת C במערכת 32 סיביות, מקבל 32 סיביות רציפים במקום כל שהוא בזיכרון כאשר התוכן שמה הוא "זבל".
מס' הויראציות של כיבוי/הדלקה ב32 "נורות", זה הנוסחה 2 (כיבוי והדלקה) בחזקת 32 (-1 כי זה אפס) = 4,294,967,296.
זה לא מובן הביטוי "יכול לקרוא" הוא יכול להכיל מבחינת הקומבינות שתעשה בו - להדליק הכל לכבות הכל וכו', את מס' האפשרויות הזה, וזה מנוצל כע"י המחשב כאשר אתה מורה לו הצבת מספר עשרוני במשתנה INT.התרגום של המחשב בין מצב הסיביות לערך המשתנה במשתנים מספריים הוא פשוט ומפורסם, והדרך אמורה להיות מוכרת למתכנת בשפה זו בשביל פעולות על סיביות, כך שיידע מה השפעת הפעולה על המשתנה (בשפת C כל המשתנים הם למעשה מתופעלים כמספרים לכל דבר).
מערך של טיפוס מסויים, "תופס" את מלוא מקומו בזיכרון ברגע יצירתו (גודל עבור כל טיפוס X מס' האיברים שהוצהר), והזיכרון הזה רציף.
שתי משתנים ויותר, תופסים כל אחד את מקומו ברגע הצהרתו, והם לא סמוכים.פורסם במקור בפורום CODE613 ב16/02/2015 14:07 (+02:00)
-
הוא שאל למה מערכת הפעלה של 32 ביט לא יכולה לקרוא יותר מ4 גיגה זיכרון. +-
והסיבה כי היא לא יכולה להכיל כתובת זיכרון של יותר מ4 מליארד.
ושלחתי אותך ללמוד שערים לוגים כי אתה רצית ללמוד מהבסיס. לא קשור לזה.
אבל אני חוזר על ההמלצה שלי תתחיל מ HTML. ותרד למטה לאט לאט. קבל את הדברים האלו כמוגמרים בלי להבין למה. שרק לאחר זמן תבין למה הם עובדים ככה.
פורסם במקור בפורום CODE613 ב16/02/2015 14:14 (+02:00)
-
הוא שאל למה מערכת הפעלה של 32 ביט לא יכולה לקרוא יותר מ4 גיגה זיכרון. +-
יאהוו. כמה רחוק ממה שחשבתי.
"מע' 32 בית", חשבתי מערך. ובית צריך להיות ביט (סיבית).
אבל זה "לדוגמא 32 ביתים בשרשור יכול להכיל ערך עד 4 מליארד." אני כבר לגמרי לא מבין איך זה נכנס לנושא.חוץ מזה העובדה שמערכת WIN32 לא מסוגלת היא לא הנחה שצריכה להיות ברורה כ"כ לכל מתכנת שיקרא את השאלה.
בקיצור, אהרון, הבנת...
פורסם במקור בפורום CODE613 ב16/02/2015 15:21 (+02:00)