|
הסימן | הוא bitwise or. כלומר or בין ביטים. עבור שני אופרנדים a,b כאשר לוקחים a | b, מסתכלים על היצוג הבינרי של כ"א מהם (ב 32 ביטים או לפי הגודל), בתוצאה הבינרית במקום ה i יש את or בין הביט ה i של a והביט ה i של b. הרעיון של windows (ולא רק שלהם) הוא שכל bit מייצג אפשרות אחרת, ומה שאתה כותב הוא "מסכה", למשל אם קבוע מסוים מוגדר כ 01000000, אז הוא ידליק את הביט ה2 (תלוי מאיזה כיוון סופרים) . ה 0 לא משפיע כי זה or, ולכן יש כאן רק "הדלקה". אם תכתוב מספר קבועים מופרדים ב|, אזי בכל מקום i שבו היה 1 באחד הקבועים האפשרות הזו תבחר (כמו כן, יתכן כי קבוע יציין הדלקה של מספר אפשרויות). כדי לבדוק עבור משתנה מסוים אם ה bit ה i שלו דלוק עושים לו & עם קבוע שכולו אפסים, והביט ה i הוא 1. (& זה bitwise and) אם התוצאה כולה אפסים, אזי ה ביט הi היה מכובה, ואם לא כולה אפסים אז חייב להיות שהביט ה i דלק (כי ה 0 בקבוע יאפסו את שאר המקומות). ישנם מספר אופרטורי BIT נוספים: ~ )לשלילה) >> << ל shift ו ^ ל xor. ניתןלקרוא עליהם בכל מדריך ל C או manual. בהצלחה. כדי לתרגם מ hex ל בינרי, כל ספרה ב hex מייצגת 4 ביטים בינריים.