אופרטורים Bitwise בשפת C

Bitwise Operators C Language



אופרטורים של Bitwise, המכונים לעתים קרובות קידוד ברמת סיביות, הודחו לפרש נתונים רק ברמת הסיביות. Bitwise מבצע פעולות על תבנית סיביות אחת או אפילו ומספרים בינאריים נוספים ברמת הסיביות. אלה שימשו כדי להאיץ את התקדמות האמידה של חישובים מספריים. הוא מורכב משני מספרים, אחד מהם הוא 0 והשני הוא 1. להלן כמה אופרטורים חכמים בהם נדון במאמר שלנו.

התחבר ממערכת Linux שלך ונסה את קיצור הדרך Ctrl+Alt+T כדי לפתוח את מסוף הקונסולה. יהיו לנו כמה דוגמאות לפרט על הפעולות של אופרטורים bitwise בשפת C. בואו נפרט על כל מפעיל bitwise בנפרד.







קצת וגם:

האופרטור bitwise שימש לשכפול מעט לתוצאה אם ​​הסיביט קיים בשני האופרנדים ההדדיים. C או C ++ דורשים 2 אופרנדים המבצעים AND על כל ביט משני המספרים השלמים האלה. Bitwise AND תוצאות 1 כאשר לשני הסיביות ערך 1. לכן, כדי להבין את העבודה, צור ופתח קובץ מסוג C באמצעות עורך Nano. לשם כך עלינו לצרוך הוראת ננו במעטפת כדלקמן:



$ננוtest.c



הקוד עבור אופרטור Bitwise AND הוצג בתמונה למטה. כל שעליך לעשות הוא לכתוב את הקוד הזה בקובץ עורך GNU nano שלך test.c כפי שהוא. לקוד זה יש את ספריית הכותרת stdio.h שבלעדיה לא נוכל לבצע את הקידוד בתכנות C. לאחר מכן יצרנו שיטה עיקרית עם סוג ההחזרה שלה כמספר שלם. בשפת C, ביצוע הקוד נעשה באמצעות השיטה העיקרית. אז הכרזנו שני משתנים מסוג שלם, x ו- y, עם הערכים 35 ו -13 בהתאם. לאחר מכן צוין משתנה שלם אחר עם הערך אפס. נשתמש בשני המשתנים השלמים הראשונים ונחיל את אופרטור AND בינוני. עבודה זו בוצעה בשורה הבאה שבה אופרטור AND שימש כ &, והערך המתקבל יישמר במשתנה null z. לאחר מכן השתמשנו בהצהרת ההדפסה כדי להציג את הערך שהתקבל במסך הטרמינל, והשיטה העיקרית נסגרת. שמור את הקובץ שלך באמצעות קיצור ה- GNU Ctrl+S ולאחר מכן צא מעורך הננו באמצעות Ctrl+X ממכונת הכתיבה של המקלדת.





אז זה הרגע לאסוף את הקוד לעיל לאחר שמירת הקובץ. השתמש בהוראת gcc במעטפת הקונסולה שלך תוך שימוש בשם של קובץ כ- test.c או בכל שם ששמת את הקובץ ולחץ על מקש Enter. אתה יכול לראות שזה לא מראה שגיאה; המשמעות היא שהקוד נכון באופן ידני.



$gcctest.c

לאחר ריכזת הקוד, הגיע הזמן לבצע את הקוד כעת. למטרה זו, הפעל את השאילתה המפורטת להלן בקליפה. הפלט מציג 1 כתוצאה. המשמעות היא שלשני המשתנים השלמים שלנו יש 1 באחד הביטים שלהם. זו הסיבה שהוא מחזיר 1.

$./א.אאוט

קצת או OR:

כעת, פונה לאופרטור OR בביטוח. האופרטור bitwise מחזיר 1 כתוצאה מכך כאשר אחד הסיביות שלו הוא 1. אם שני הביטים של שני מספרים שלמים הם 0, אז הוא מניב 0. לאחר קבלת כל הסיביות, תיווצר קבוצת ביטים. עלינו לראות מה המספר שהיצורים האלה נוצרו. לכן, פתח תחילה את אותו מסמך test.c. הקלד ולאחר מכן שמור את הקוד המוצג להלן בקובץ ה- GNU באמצעות מקש Ctrl+S. הקוד כמעט זהה לדוגמנית של אופרטור AND. הפעם רק שינינו את הערך של מספר שלם x ל- 47, והשתמשנו באופרטור OR, למשל. | בין שני המשתנים. צא מהקובץ כדי לאסוף את הקוד.

לאחר ביצוע מוצלח של test.c המסמך, הוא מציג את סיביות הפלט 47.

$./א.אאוט

XOR Bitwise:

האופרטור bitwise מחזיר 1 כאשר שני סיביות המספר שונות. אז כשהסיביות זהות, הוא יניב 0. סימן האופרטור ^ ייצג את האופרטור החכם. אז שוב, פתח את המסמך וכתוב את אותו קוד ישן בעורך הקבצים של GNU. הפעם השתמשנו באופרטורים ^ בתוך שני משתנים שלמים, והתוצאה תישמר במשתנה z בזמן ההדפסה במסוף.

הידור והפעלת קובץ test.c מחזירים 34 כתוצאה מכך. המשמעות היא שהמספר השלם החדש 34 נוצר לאחר שהאופרטור XOR הוחל על שני משתנים שלמים.

$./א.אאוט

השלמה bitwise:

אופרטור זה יוחל רק על משתנה יחיד והוא יחזיר את ערך מספר הסיביות. לדוגמה, זה ישנה את 0 סיביות ל -1 ו -1 ל -0 ביט. כתוב את אותו קוד באותו קובץ אך עם שינוי קטן בשורה 6. הקצנו את ההיפוך של x ל- z.

הידור הקובץ והפעל אותו. ב- C התוצאה של השלמת Bitwise עלתה עם 1 עם סימן שלילי.

מפעיל משמרת שמאל:

זה ישנה את מקום הביטים במידה מסוימת. אותו קוד ניתן להציג בתמונה המצורפת למטה. בדוגמה זו נעביר 2 סיביות שמאלה.

הפלט מציג את ה- 188 כערך שנוצר לאחרונה.

$./א.אאוט

מפעיל משמרת ימין:

זה עובד בדיוק כמו עבודות המשמרת השמאלית אך בכיוון ההפוך, כפי שמוצג בקוד להלן.

הפעם קיבלנו 11 פלט בעת העברת 2 סיביות לצד ימין.

$./א.אאוט

סיכום:

סקרנו את כל 6 האופרטורים הבסיסיים בסיביות בקוד השפה C שלנו במאמר זה. אני מקווה שתקבל מה שרצית מהמדריך שלנו.