נשלח בתאריך: 17 October 2007 בשעה 12:20 | | IP רשוּם
|
|
|
|
האופרטור & המופעל מימין ל-int משמש כפעולת bitwise AND - הכוונה שכל ביט ב-i עובר פעולת AND לוגית עם הביט המתאים לו בביטוי שמימין ל-&. הביטוי הוא למעשה שווה ערך ל-1 (רשום בהקסהדצימלי, אבל הוא 1 גם בבסיס בינארי ובבסיס עשרוני).
פעולת & עם ביטוי זה למעשה מאפסת את כל הביטים של i למעט הביט הימני ביותר.
אם הביט הימני ביותר הוא 1 אז המספר הוא אי זוגי, אחרת המספר הוא זוגי. זאת תכונה של מספרים בינאריים.
אני רק אזכיר שכדי שהתנאי של ה-if יתקיים, הביטוי שבתוכו צריך להיות שונה מאפס, אחרת התנאי לא מתקיים.
|