
08-08-2009, 00:57
|
|
|
|
חבר מתאריך: 22.08.08
הודעות: 310
|
|
1. לא ממש הבנתי את השאלה, אלה bitwise oprators.
2. אופרטורים שפועלים על ביטים במקום על בתים.
ולדוגמא, בוא נאמר שיש לך משתנה אינטגר בגודל ארבעה בתים ואתה רוצה לדעת עם הביט הראשון שלו הוא אחד (שזה אגב אומר שהוא גדול מ0 בהכרח). מכיוון שאין שום גישה ישירה לביטים, תצטרך להשתמש באינטגר אחר עם מספר "קסום" שמתאים למה שאתה רוצה.
בשביל הדוגמא, אתה תעשה AND (&) על המספר 1.
ההסבר הוא ש 1 מתפרש ל 0001...0000, עכשיו מכיוון שכל שאר הביטים הם אפסים - כל הביטים של התוצאה גם יהיו אפסים מכיוון שעשינו AND. הביט הראשון לעומת זאת הוא אחד, ולכן עם הביט הראשון של המספר שלנו הוא גם אחד, התוצאה תהיה אחד. מה שאומר ש int & 1 יהיה שווה ל1 עם ביט הראשון שווה לאחד.
אותו דבר אפשר לעשות עם כל הביטים (2,4,8,16 וכולה).
למידע קצת יותר ברור (כי אני והסברים ברורים לא ממש הולכים ביחד) תסתכל פה.
3. בכל מקרה שבוא הלולאה במילא חייבת לרוץ לפחות פעם אחת. זה לא עניין של יותר שימושי, זה פשוט עניין של "מה יותר מתאים לי".
4. לא ממש השתמשתי בזה חוץ משימוש נורא בסיסי עם SDL, אבל exit בעיקרון לוקחת שם של פונקצייה שתקרא רגע לפני שהתוכנית נסגרת.
|