בית התפתחות מה משתנה קצת? - הגדרה מטכנולוגיה

מה משתנה קצת? - הגדרה מטכנולוגיה

תוכן עניינים:

Anonim

הגדרה - מה המשמעות של העברת ביטים?

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

לעתים קרובות משתמשים בהעברת סיביות בתכנות ויש לו לפחות וריאציה אחת בכל שפת תכנות.

הסטת סיביות עשויה להיקרא גם כפעולה קצת.

Techopedia מסביר העברת חלקים

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

ישנם גם שני סוגים של העברת סיביות, הגיוניים וחשבון. הסטת סיביות לוגית עשויה להועיל להכפלת או לחלוקת מספרים לא חתומים בכוחות של שניים. לדוגמה, אם הערך "0001" או "1" מועבר שמאלה, הוא הופך להיות "0010" או "2", ומועבר שמאלה שוב הוא הופך להיות "0100", או "4." הסטה ימינה משפיעה הפוכה של חלוקת הערך בשניים לכל משמרת. ברוב המקרים מתייחסים להזזה כאל מעגלית ולכן כאשר עוברים שמאלה, הערך השמאלי ביותר הופך לערך הימני ביותר, ולהיפך.

משמרת שמאלית לוגית ומשמרת שמאל אריתמטית משפיעים על אותה השפעה כך של- Java יש רק מפעיל משמרת שמאלי יחיד (<<). הסטה הימני האריתמטי הוא (>>) ואילו ההגיוני הוא (>>>). ב- C ו- C ++, יש רק מפעיל ימני ימינה אחד (>>); סוג המשמרת שנקבע נקבע לפי סוג המספר שלם שמועבר. מספרים שלמים חתומים מועברים בעזרת חשבון ואילו משתמשים בהעברת סיביות לוגיות על מספרים לא חתומים. הסטת סיביות משמשת גם רבות בתכנות הרכבה מכיוון שבקרי מיקרו ומעבדי מיקרו בדרך כלל מסתמכים על דגלים, המיוצגים על ידי ביטים בודדים. בעיקרון, הסיבה לכך היא שמערכת המספרים הבינאריים משמשת בתכנות בשפת הרכבה שהעברת סיביות הופכת למפעילה נפוצה.

מה משתנה קצת? - הגדרה מטכנולוגיה