הבדל מפתח – & לעומת && (Bitwise AND לעומת לוגי AND)
בתכנות, ישנם מצבים לביצוע חישובים מתמטיים. אופרטור הוא סמל לביצוע פונקציות לוגיות או מתמטיות ספציפיות על ערך או משתנה. הערך או המשתנים שבהם הפעולות מתרחשות ידועים בתור אופרנדים. ישנם מפעילים שונים בשפות תכנות. חלקם הם אופרטורים אריתמטיים, אופרטורים יחסיים, אופרטורים לוגיים, אופרטורים סיביים ואופרטורים של הקצאה. אופרטורים אריתמטיים תומכים בפעולות מתמטיות כגון חיבור, חיסור, כפל וכו'. האופרטורים היחסיים שימושיים למציאת הקשר בין אופרנדים.אופרטורים של Bitwise מבצעים פעולות ברמת הסיביות. אופרטור סיביות עיקרי אחד הוא AND. הוא מיוצג באמצעות &. האופרטורים הלוגיים עוזרים לנתח תנאים מרובים כדי לקבל החלטה. אופרטור לוגי עיקרי אחד הוא לוגי AND. הוא מיוצג באמצעות &&. מאמר זה דן בהבדל בין & ו-&&. ההבדל העיקרי בין & ו-&& הוא ש- & הוא אופרטור סיביות ואילו && הוא אופרטור לוגי.
מה זה & (Bitwise AND)?
& הוא אופרטור נקודתי. התוכניות נכתבות על ידי המתכנת. תוכניות אלו מובנות לבני אדם אך אינן מובנות למכונה או למחשב. לכן, יש צורך להמיר את התוכנית הניתנת לקריאה אנושית לפורמט המובן למכונה. המכונה מזהה קבצים בינאריים; אפסים ואחדים. כל בינארי הוא קצת. עיבוד ברמת סיביות שימושי להגברת המהירות. באופרטורים סיביים כמו &, האופרטור עובד על ביטים ומבצע פעולה ביט אחר ביט.
אם a ו-b הם משתנים ו-a מכיל 0 ו-b מכיל 1, אז ה-AND הוא 0.אם ל-a יש ערך 1 ול-B יש ערך 0, אז הפלט הוא 0. אם ל-a יש ערך 0 ול-B יש ערך 1, אז הפלט הוא 0. אם גם a וגם b מכילים 1, אז הפלט הוא 1. 1 זה מציין אמת, ו-0 מציין שקר. נניח ש-x הוא 4 ו-y הוא 5. הבינארי של 4 הוא 100. הבינארי של 5 הוא 101. בעת ביצוע פעולת ביט אחר סיביות, ה-AND הוא 100 בכיוון הסיביות. כאשר לוקחים את פעולת ה-AND של שני ערכים שונים ייתן 0. כאשר שני הערכים הם 1, הפלט הוא 1.
איור 01: תוכנית באמצעות & Operator
לפי התוכנית לעיל, למשתנה x יש את הערך 4. הערך הבינארי של 4 הוא 100. למשתנה y יש את הערך 5. הערך הבינארי של 5 הוא 101. למשתנה z יש את התוצאה של AND של x ו-y. התשובה היא 100. זה 4. לכן, הפלט של התוכנית יציג 4.
מה זה && (לוגי AND)?
זהו אופרטור לוגי. הוא משמש לקבלת החלטה המבוססת על מספר תנאים. הסמל && מייצג את ה-AND הלוגי. ב-AND לוגי, אם שני האופרנדים אינם אפס, אז התנאי הופך להיות אמיתי. כאשר המשתנה x מחזיק את הערך 1 והמשתנה y מחזיק את הערך 0, ה-AND הלוגי כלומר (x && y) הוא שקר או 0. דוגמה אחת של && היא כדלקמן.
איור 02: תוכנית המשתמשת && Operator
לפי התוכנית לעיל, הסימן הוא משתנה. הוא מוקצה ערך 65. ב-else if blocks הסימן מושווה. האופרטור && משמש להפניה לפעולת AND. ב-else if (סימן >=60 && סימן=45 && סימן < 60), המהדר יבדוק אם הסימן הוא בין 45 ל-60. אם הסימן גדול או שווה ל-45 והסימן קטן מ-60, אז הציון הוא 'C'.שתי ההצהרות הללו כוללות AND (&&) לוגיות.
מהו הדמיון בין & ל-&&?
שניהם אופרטורים בתכנות
מה ההבדל בין & ל-&&?
& לעומת && |
|
& הוא אופרטור בתכנות שמבצע ביט אחר סיביות AND פעולות של האופרנדים הנתונים. | && הוא אופרטור בתכנות המבצע פעולה לוגית AND על ההחלטות המרובות. |
פונקציונליות | |
האופרטור & מעתיק מעט לתוצאה אם הוא קיים בשני האופרנדים. | בעת שימוש באופרטור &&, אם שני האופרנדים אינם אפס, התנאי הופך להיות אמיתי. |
שם | |
& נקרא Bitwise ו | && נקרא בשם Logical AND |
סיכום – & לעומת &&
אופרטורים משמשים לביצוע פעולות מתמטיות והגיוניות. אופרטורים מבצעים פעולות אלה על ערכים או משתנים. הם ידועים בתור אופרנדים. חלק מהאופרטורים הם אופרטורים אריתמטיים, אופרטורים של הקצאה וכו'. פעולות אריתמטיות מכילות חיבור, כפל וכו'. אופרטורים של הקצאה, מקצים ערכים מאופרנדים בצד ימין לאופרנד בצד שמאל. ישנם עוד שני אופרטורים הנקראים אופרטורים סיביים ואופרטורים לוגיים. אופרטורים של Bitwise מבצעים פעולות ברמת סיביות. אופרטורים לוגיים מקבלים החלטות על סמך מספר תנאים. מאמר זה דן בהבדל בין & ו-&&. ההבדל בין & ו-&& הוא ש- & הוא אופרטור סיביות ואילו && הוא אופרטור לוגי.
הורד את ה-PDF של & לעומת &&
ניתן להוריד את גרסת ה-PDF של מאמר זה ולהשתמש בה למטרות לא מקוונות לפי הערת ציטוט. אנא הורד את גרסת ה-PDF כאן:הבדל בין & ו&