21.10.2019

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


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

מערכות מספרי מיקום.

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

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

אני 1 (אחד)
V 5 (חמש)
איקס 10 (עשרה)
ל 50 (חמישים)
ג 100 (מאה)
ד 500 (חמש מאות)
M 1000 (אלף)

כאן, האות V מייצגת 5, ללא קשר למיקומה. עם זאת, ראוי להזכיר שלמרות שמערכת הספרות הרומית היא דוגמה קלאסית למערכת ספרות לא-מיקוםית, היא לא לגמרי לא-מיקוםית, מכיוון. המספר הקטן יותר לפני שנגרע ממנו הגדול:

IL 49 (50-1=49)
VI 6 (5+1=6)
XXI 21 (10+10+1=21)
מִי 1001 (1000+1=1001)

מערכות מספרי מיקום.

מערכות מספרי מיקום- מערכות מספרים שבהן הערך הכמותי של ספרה תלוי במיקומה במספר.

לדוגמה, אם מדברים על מערכת המספרים העשרונית, אז במספר 700 המספר 7 פירושו "שבע מאות", אבל אותו נתון במספר 71 פירושו "שבע עשרות", ובמספר 7020 - "שבעת אלפים" .

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

    לדוגמה:
  • בינארי- מערכת מספרי מיקום עם בסיס 2.
  • רבעוני- מערכת מספרי מיקום עם בסיס 4.
  • פִּי חֲמִישָׁה- מערכת מספרי מיקום עם בסיס 5.
  • אוקטלי- מערכת מספרי מיקום עם בסיס 8.
  • הקסדצימלי- מערכת מספרי מיקום עם בסיס 16.

כדי לפתור בהצלחה בעיות בנושא "מערכות מספרים", על התלמיד לדעת בעל פה את ההתאמה של מספרים בינאריים, עשרוניים, אוקטליים והקסדצימליים עד 16 10:

10 שניות לשנייה 2 שניות/שניות 8 שניות לשנייה 16 שניות לשנייה
0 0 0 0
1 1 1 1
2 10 2 2
3 11 3 3
4 100 4 4
5 101 5 5
6 110 6 6
7 111 7 7
8 1000 10 8
9 1001 11 9
10 1010 12 א
11 1011 13 ב
12 1100 14 ג
13 1101 15 ד
14 1110 16 ה
15 1111 17 ו
16 10000 20 10

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

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

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

מכאן שלתלמידים בעלי תושייה יש "השיטות שלהם" (באופן מפתיע... עובדים) בעת מילוי, למשל, טבלאות אמת, שהעמודות הראשונות (ערכי משתנים) שלהן, למעשה, מלאות במספרים בינאריים בסדר עולה .

לדוגמה, בואו נסתכל על הכנסת מספרים מערכת אוקטלית: נוסיף 1 למספר הראשון (0), נקבל 1. ואז נוסיף 1 ל-1, נקבל 2 וכו'. עד 7. אם נוסיף אחד ל-7, נקבל מספר השווה לבסיס מערכת המספרים, כלומר. 8. אז אתה צריך להגדיל את הספרה של עשרות באחד (נקבל עשר אוקטלי - 10). לאחר מכן, כמובן, הם המספרים 11, 12, 13, 14, 15, 16, 17, 20, ..., 27, 30, ..., 77, 100, 101 ...

כללים להמרה ממערכת מספרים אחת לאחרת.

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

יש לחלק את המספר ב בסיס מספרים חדש. השארית הראשונה של החלוקה היא הספרה הפחות משמעותית של המספר החדש. אם המנה של החלוקה קטנה או שווה לבסיס החדש, יש לחלק אותה (המנה) שוב בבסיס החדש. יש להמשיך בחלוקה עד שנקבל את המנה פחותה מהבסיס החדש. זוהי הספרה הגבוהה ביותר של המספר החדש (עליך לזכור, למשל, במערכת ההקסדצימלית, האותיות עוקבות אחרי 9, כלומר, אם קיבלת 11 בשאר, אתה צריך לכתוב את זה כ-B).

דוגמה ("חלוקה לפי פינה"): בוא נתרגם את המספר 173 10 למערכת המספרים האוקטלית.


לפיכך, 173 10 \u003d 255 8

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

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

דוגמה: בוא נתרגם את המספר 0.65625 10 למערכת המספרים האוקטלית.

המחשבון מאפשר להמיר מספרים שלמים ושברים ממערכת מספרים אחת לאחרת. הבסיס של מערכת המספרים לא יכול להיות קטן מ-2 וגדול מ-36 (10 ספרות ו-26 אותיות לטיניותעל כל פנים). מספרים לא יעלו על 30 תווים. לקלט מספרים שבריםהשתמש בסמל. או, . כדי להמיר מספר ממערכת אחת לאחרת, הזינו את המספר המקורי בשדה הראשון, את הבסיס של מערכת המספרים המקורית בשדה השני, ואת בסיס מערכת המספרים שאליה תרצו להמיר את המספר בשדה השלישי, לאחר מכן לחץ על כפתור "קבל כניסה".

מספר מקורי נרשם ב-2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 3 -מערכת המספרים.

אני רוצה לקבל תיעוד של מספר 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 -מערכת המספרים.

קבלו כניסה

תרגומים שהושלמו: 1237182

מערכות מספרים

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

דוגמה 1. ניקח את המספר 5921 במערכת המספרים העשרונית. אנו מספרים את המספר מימין לשמאל החל מאפס:

ניתן לכתוב את המספר 5921 בצורה הבאה: 5921 = 5000+900+20+1 = 5 10 3 +9 10 2 +2 10 1 +1 10 0 . המספר 10 הוא מאפיין המגדיר את מערכת המספרים. ערכי המיקום של המספר הנתון נלקחים כמעלות.

דוגמה 2. קחו בחשבון את האמיתי מספר עשרוני 1234.567. אנו מספרים אותו החל ממיקום האפס של המספר מהנקודה העשרונית שמאלה וימינה:

ניתן לכתוב את המספר 1234.567 באופן הבא: 1234.567 = 1000+200+30+4+0.5+0.06+0.007 = 1 10 3 +2 10 2 +3 10 1 +4 10 0 +5 10 -1 + 6 6 +7 10 -3 .

המרת מספרים ממערכת מספרים אחת לאחרת

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

המרת מספרים מכל מערכת מספרים למערכת מספרים עשרוניים

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

1. המרת מספר 1001101.1101 2 למערכת מספרים עשרוניים.
פִּתָרוֹן: 10011.1101 2 = 1 2 4 +0 2 3 +0 2 2 +1 2 1 +1 2 0 +1 2 -1 +1 2 -2 +0 2 -3 +1 2 - 4 = 16+2+1+0.5 +0.25+0.0625 = 19.8125 10
תשובה: 10011.1101 2 = 19.8125 10

2. המר את המספר E8F.2D 16 למערכת מספרים עשרוניים.
פִּתָרוֹן: E8F.2D 16 = 14 16 2 +8 16 1 +15 16 0 +2 16 -1 +13 16 -2 = 3584+128+15+0.125+0.05078125 = 3727.17578125 10
תשובה: E8F.2D 16 = 3727.17578125 10

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

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

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

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

3. המרת מספר 273 10 למערכת מספרים אוקטלית.
פִּתָרוֹן: 273 / 8 = 34 והשאר 1, 34 / 8 = 4 והשאר 2, 4 הוא פחות מ-8, כך שהחישוב הושלם. הרשומה מהשרידים תיראה כך: 421
בְּדִיקָה: 4 8 2 +2 8 1 +1 8 0 = 256+16+1 = 273 = 273 , התוצאה זהה. אז התרגום נכון.
תשובה: 273 10 = 421 8

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

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

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

4. המרת מספר 0.125 10 למערכת מספרים בינארית.
פִּתָרוֹן: 0.125 2 = 0.25 (0 הוא החלק השלם, שיהיה הספרה הראשונה של התוצאה), 0.25 2 = 0.5 (0 היא הספרה השנייה של התוצאה), 0.5 2 = 1.0 (1 היא הספרה השלישית של התוצאה , ומכיוון שחלק השבר הוא אפס , התרגום הושלם).
תשובה: 0.125 10 = 0.001 2

שיטות להמרת מספרים ממערכת מספרים אחת לאחרת.

תרגום מספרים ממערכת מספרים מיקומית אחת לאחרת: תרגום מספרים שלמים.

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

דוגמה 1. המר את המספר 11(10) למערכת המספרים הבינארית.

תשובה: 11(10)=1011(2).

דוגמה 2. המר את המספר 122(10) למערכת המספרים האוקטלית.


תשובה: 122(10)=172(8).

דוגמה 3. המר את המספר 500(10) למערכת מספרים הקסדצימלית.


תשובה: 500(10)=1F4(16).

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

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

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

דוגמה 1. המר את המספר 0.625(10) למערכת המספרים הבינארית.


תשובה: 0.625(10)=0.101(2).

דוגמה 2. המר את המספר 0.6 (10) למערכת המספרים האוקטלית.


תשובה: 0.6(10)=0.463(8).

דוגמה 2. המר את המספר 0.7(10) להקסדצימלי.


תשובה: 0.7(10)=0.B333(16).

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

כדי להמיר את המספר של מערכת P-ary לעשרוני, עליך להשתמש בנוסחת ההרחבה הבאה:
anan-1…a1a0=anPn+ an-1Pn-1+…+ a1P+a0 .

דוגמה 1. המר את המספר 101.11(2) למערכת המספרים העשרונית.

תשובה: 101.11(2)= 5.75(10) .

דוגמה 2. המר את המספר 57.24(8) למערכת המספרים העשרונית.

תשובה: 57.24(8) = 47.3125(10) .

דוגמה 3. המר את המספר 7A,84(16) למערכת המספרים העשרונית.

תשובה: 7A,84(16)= 122.515625(10) .


המרת מספרים אוקטליים והקסדצימליים לבינאריים ולהיפך.

כדי להמיר מספר מאוקטלי לבינארי, כל ספרה של מספר זה חייבת להיכתב כמספר בינארי תלת ספרתי (תלת ספרתי).

דוגמה: רשום את המספר 16.24(8) בבינארי.


תשובה: 16.24(8)= 1110.0101(2) .

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

דוגמה: כתוב את המספר 1110.0101(2) באוקטלי.


תשובה: 1110.0101(2)= 16.24(8) .

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

דוגמה: רשום את המספר 7A,7E(16) במערכת המספרים הבינארית.


תשובה: 7A,7E(16)= 1111010,0111111(2) .

הערה: אפסים לא משמעותיים משמאל עבור מספרים שלמים ומימין עבור שברים אינם נרשמים.

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

דוגמה: כתוב את המספר 1111010.0111111(2) בהקסדצימלי.

כדי להמיר במהירות מספרים מעשרוני לבינארי, עליך להכיר היטב את המספרים "2 בחזקת". לדוגמה, 2 10 \u003d 1024 וכו'. זה יאפשר לך לפתור כמה דוגמאות לתרגום בשניות בלבד. אחת המשימות הללו היא משימה A1 מהדגמת USE 2012. אפשר כמובן לחלק את המספר ב"2" באורך ומייגע. אבל עדיף להחליט אחרת, ולחסוך זמן יקר בבחינה.

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

  • נתרגם את המספר 2 מהשיטה העשרונית. 2=2 1 . לכן, במערכת הבינארית, המספר מכיל 1 אפס. שמים "1" לפני ומקבלים 10 2.
  • נתרגם 4 מהשיטה העשרונית. 4=2 2 . לכן, במערכת הבינארית, המספר מכיל 2 אפסים. שמים את "1" לפני ומקבלים 100 2.
  • נתרגם 8 מהשיטה העשרונית. 8=2 3 . לכן, במערכת הבינארית, המספר מכיל 3 אפסים. אנחנו שמים "1" לפני ומקבלים 1000 2.


באופן דומה עבור מספרים אחרים "2 לכוח".

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

  • נתרגם 3 מהשיטה העשרונית. 3=2 2 -1. לכן, במערכת הבינארית, המספר מכיל 2 אחדים. אנחנו מקבלים 11 2.
  • נתרגם 7 מהשיטה העשרונית. 7=2 3 -1. לכן, במערכת הבינארית, המספר מכיל 3 אחדים. אנחנו מקבלים 111 2.

באיור, הריבועים מציינים את הייצוג הבינארי של המספר, ומשמאל, הייצוג העשרוני הוא ורוד.


התרגום דומה למספרים אחרים "2 בחזקת -1".

ברור שתרגום של מספרים מ-0 ל-8 יכול להיעשות במהירות או על ידי חלוקה, או פשוט לדעת בעל פה את ייצוגם במערכת הבינארית. נתתי את הדוגמאות האלה כדי שתבינו את העיקרון השיטה הזאתוהשתמשו בו לתרגום "מספרים מרשימים" יותר, למשל, לתרגום המספרים 127,128, 255, 256, 511, 512 וכו'.

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

אם המספר גדול מ-, אנו פותרים זאת כך:

תחילה אנו מתרגמים את המספר "2 בחזקת" למערכת הבינארית. ואז נוסיף לזה את ההפרש בין המספר "2 בחזקת" למספר המתורגם.

לדוגמה, בוא נתרגם את 19 מהשיטה העשרונית. הוא גדול מהמספר "2 לכוח" ב-3.

16=2 4 . 16 10 =10000 2 .

3 10 =11 2 .

19 10 =10000 2 +11 2 =10011 2 .

אם המספר קטן מהמספר "2 בחזקת", אז נוח יותר להשתמש במספר "2 בחזקת -1". אנחנו מחליטים כך:

תחילה אנו מתרגמים את המספר "2 בחזקת -1" למערכת הבינארית. ואז להפחית ממנו את ההפרש בין המספר "2 בחזקת -1" לבין המספר המתורגם.

לדוגמה, בוא נתרגם את 29 מהשיטה העשרונית. הוא גדול מהמספר "2 בחזקת 1" ב-2. 29=31-2.

31 10 =11111 2 .

2 10 =10 2 .

29 10 =11111 2 -10 2 =11101 2

אם ההפרש בין המספר המתורגם למספר "2 בחזקת" הוא יותר משלוש, אז אתה יכול לחלק את המספר לרכיבים, להמיר כל חלק למערכת הבינארית ולהוסיף.

לדוגמה, תרגם את המספר 528 מהשיטה העשרונית. 528=512+16. אנו מתרגמים בנפרד את 512 ו-16.
512=2 9 . 512 10 =1000000000 2 .
16=2 4 . 16 10 =10000 2 .
עכשיו בואו נערום את זה:

שלום מבקר באתר! אנו ממשיכים ללמוד את פרוטוקול שכבת רשת ה-IP, וליתר דיוק, את גרסת ה-IPv4 שלו. במבט ראשון, הנושא מספרים בינאריים ומערכת מספרים בינאריתאין שום קשר לפרוטוקול IP, אבל אם אתה זוכר שמחשבים עובדים עם אפסים ואחדים, מסתבר שהמערכת הבינארית וההבנה שלה היא הבסיס ליסודות, אנחנו צריכים למד כיצד להמיר מספרים מבינארי לעשרוניולהיפך: עשרוני לבינארי. זה יעזור לנו להבין טוב יותר את פרוטוקול ה-IP, כמו גם כיצד פועלות מסכות רשת באורך משתנה. בואו נתחיל!

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

4.4.1 מבוא

לפני שנתחיל, כדאי להסביר מדוע מהנדס רשת צריך את הנושא הזה. אמנם הייתם יכולים להיות משוכנעים בנחיצותו כשדיברנו, אבל, אפשר לומר שיש מחשבוני IP שמקלים מאוד על משימת הפצת כתובות ה-IP, חישוב רשת המשנה/מסכות הרשת הנדרשות וקביעת מספר הרשת ומספר המארח בכתובת ה-IP . ככה זה, אבל מחשבון ה-IP לא תמיד בהישג יד, זו הסיבה מספר אחת. סיבה מספר שתיים היא שמבחני סיסקו לא יתנו לך מחשבון IP וזהו. המרת כתובות IP מעשרוני לבינארי תצטרך לעשות על פיסת נייר, ואין כל כך מעט שאלות שבהן זה נדרש בבחינה / בחינות לקבלת תעודת CCNA, חבל אם הבחינה תוצף בגלל זוטת כזו. ולבסוף, הבנת מערכת המספרים הבינארית מובילה להבנה טובה יותר של עקרון הפעולה.

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

4.4.2 ספרות ומספרים עשרוניים, ספרות במספרים

נתחיל בפשטות ונדבר על ספרות ומספרים בינאריות, אתה יודע שמספרים ומספרים הם שני דברים שונים. ספרה היא סמל מיוחד לייעוד, ומספר הוא סימון מופשט שמשמעותו כמות. לדוגמה, כדי לכתוב שיש לנו חמש אצבעות על היד, נוכל להשתמש בספרות רומיות וערבית: V ו-5. במקרה זה, חמש הוא גם מספר וגם מספר. ולדוגמה, כדי לכתוב את המספר 20, אנו משתמשים בשתי ספרות: 2 ו-0.

בסך הכל, במערכת המספרים העשרונית, יש לנו עשר ספרות או עשרה תווים (0,1,2,3,4,5,6,7,8,9), שעל ידי שילובם נוכל לכתוב מספרים שונים. על איזה עיקרון אנו פועלים בעת שימוש במערכת המספרים העשרוניים? כן, הכל מאוד פשוט, אנחנו מעלים עשר במידה כזו או אחרת, למשל, קחו את המספר 321. איך אפשר לכתוב את זה אחרת, אבל ככה: 3*10 2 +2*10 1 +1*10 0 . כך, מסתבר שהמספר 321 מייצג שלוש ספרות:

  1. המספר 3 פירושו הספרה המשמעותית ביותר, או במקרה זה היא ספרת המאות, אחרת מספרם.
  2. המספר 2 נמצא במקום העשרות, יש לנו שתי עשרות.
  3. המספר אחד הוא הספרה הפחות משמעותית.

כלומר, בערך הזה, צמד הוא לא רק דק, אלא שתי עשרות או שתיים כפול עשר. שלשה היא לא רק שלשה, אלא שלוש פעמים מאה. מסתבר שתלות כזו: היחידה של כל ספרה הבאה היא פי עשרה יותר מהיחידה של הקודמת, כי מה ש-300 הוא פי שלוש פי מאה. נדרשה סטייה על מערכת המספרים העשרונית כדי להקל על הבנת הבינארי.

4.4.3 ספרות ומספרים בינאריות וסימון שלהם

יש רק שתי ספרות במערכת המספרים הבינארית: 0 ו-1. לכן, כתיבת מספר בבינארי הרבה יותר גדולה מאשר בעשרוני. למעט המספרים 0 ו-1, אפס בבינארי שווה לאפס בעשרוני, והדבר נכון גם לגבי אחד. לפעמים, כדי לא לבלבל באיזו מערכת מספרים כתוב המספר, משתמשים במדדי משנה: 267 10, 10100 12, 4712 8. המספר בתת-אינדקס מציין את מערכת המספרים.

ניתן להשתמש בתווים 0b ו-&(אמפרסנד) כדי לכתוב מספרים בינאריים: 0b10111, &111. אם במערכת המספרים העשרונית, כדי לבטא את המספר 245, אנו משתמשים במבנה הזה: מאתיים ארבעים וחמש, אז במערכת המספרים הבינארית, כדי לתת שם למספר, עלינו לבטא את המספר מכל ספרה, למשל, אין לבטא את המספר 1100 במערכת המספרים הבינארית כאלף מאה, אלא כאחד, אחד, אפס, אפס. בואו נסתכל על המספרים מ-0 עד 10 בסימון בינארי:

אני חושב שההיגיון אמור להיות ברור עד עכשיו. אם במערכת המספרים העשרונית של כל ספרה היו לנו עשר אפשרויות זמינות (מ-0 עד 9 כולל), הרי שבמערכת המספרים הבינארית בכל אחת מהספרות של מספר בינארי יש לנו רק שתי אפשרויות: 0 או 1.

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

4.4.4 המרת מספרים מעשרוני לבינארי

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

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

זה לא הכי טוב דרך מהירההמרת מספר מבינארי לעשרוני. יש לנו כמה מאיצים. לדוגמה, המספר 7 במערכת הבינארית נכתב כ-111, המספר 3 כ-11, והמספר 255 כ-11111111. כל המקרים הללו פשוטים להחריד. העובדה היא שהמספרים 8, 4 ו-256 הם חזקות של שתיים, והמספרים 7, 3 ו-255 הם אחד פחות ממספרים אלה. אז על מספר שהוא אחד פחות ממספר השווה לחזקת שתיים, חל כלל פשוט: במערכת הבינארית, מספר עשרוני כזה נכתב כמספר יחידות השווה לחזקת שתיים. אז, למשל, המספר 256 הוא שתיים בחזקת שמינית, לכן, 255 נכתב כ-11111111, והמספר 8 הוא שתיים בחזקת שלישית, וזה אומר לנו ש-7 במערכת הבינארית ייכתב כ-111. ובכן, תבין, איך לכתוב 256, 4 ו-8 בבינארי זה גם לא קשה, פשוט הוסף אחד: 256 = 11111111 + 1 = 100000000; 8 = 111 + 1 = 1000; 4 = 11 + 1 = 100.
אתה יכול לבדוק כל אחת מהתוצאות שלך במחשבון, ובהתחלה עדיף לעשות זאת.

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

4.4.5 המרת מספרים מבינארי לעשרוני

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

כדי לקבל עשרוני ממספר בינארי זה, אתה צריך להכפיל כל מספר בספרה בשתיים בחזקת, ולאחר מכן להוסיף את תוצאות הכפל, קל יותר להראות:

1*2 4 +1*2 3 +1*2 2 +1*2 1 +0*2 0 = 16+8+4+2+0=30

בואו נפתח את המחשבון ונוודא ש-30 בעשרוני הוא 11110 בבינארי.

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

אנחנו לא צריכים יותר, כי המספר המקסימלי האפשרי שניתן לכתוב בבייט אחד (8 סיביות או שמונה ערכים בינאריים) הוא 255, כלומר, בכל אוקטט של כתובת ה-IP או מסכת המשנה של IPv4, הערך המקסימלי האפשרי הוא 255. יש שדות שבהם יש ערכים שגדולים מ-255, אבל אנחנו לא צריכים לחשב אותם.

4.4.6 חיבור, חיסור, כפל של מספרים בינאריים ופעולות אחרות עם מספרים בינאריים

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

תוספת בינארית

הוספת מספרים בינאריים אינה כל כך קשה: 1+0 =1; 1+1=0 (בהמשך אתן הסבר); 0+0=0. אלה היו דוגמאות פשוטות, שבו השתמשו רק בספרה אחת, הבה נסתכל על דוגמאות שבהן מספר הספרות הוא יותר מאחת.
101 + 1101 בעשרוניות זה 5 + 13 = 18. בואו נספור בטור.

התוצאה מודגשת תפוז, המחשבון אומר שחישבנו נכון, אתה יכול לבדוק. עכשיו בואו נראה למה זה קרה, כי בהתחלה כתבתי ש-1 + 1 = 0, אבל זה למקרה שבו יש לנו רק ספרה אחת, למקרים שיש יותר מספרה אחת, 1 + 1 = 10 (או שתיים בעשרוני), וזה הגיוני.

ואז תראה מה קורה, אנחנו מבצעים הוספות לפי ספרות מימין לשמאל:

1. 1+1=10, כתוב אפס, ואחד עובר לביט הבא.

2. בספרה הבאה מתקבל 0+0+1=1 (יחידה זו הגיעה אלינו מתוצאת החיבור בשלב 1).

4. כאן יש לנו יחידה רק למספר השני, אבל היא הועברה לכאן, אז 0 + 1 + 1 = 10.

5. הדביקו הכל יחד: 10|0|1|0.

אם העצלנות נמצאת בעמודה, אז בואו נספור כך: 101011 + 11011 או 43 + 27 = 70. מה אנחנו יכולים לעשות כאן, אבל בואו נסתכל, כי אף אחד לא אוסר עלינו לעשות טרנספורמציות, והסכום לא משתנה משינוי המקומות של המונחים, עבור מערכת המספרים הבינארית כלל זה חל גם.

  1. 101011 = 101000 + 11 = 101000 + 10 + 1 = 100000 + 1000 + 10 + 1.
  2. 11011 = 11000 + 10 + 1 = 10000 + 1000 + 10 + 1.
  3. 100000 + 10000 + (1000 +1000) + (10+10) + (1+1).
  4. 100000 + (10000 + 10000) + 100 + 10.
  5. 100000 + 100000 +110
  6. 1000000 + 110.
  7. 1000110.

אתה יכול לבדוק עם מחשבון, 1000110 בבינארי זה 70 בעשרוני.

חיסור של מספרים בינאריים

דוגמה מיידית להפחתת מספרים חד ספרתיים במערכת המספרים הבינארית, לא דיברנו על מספרים שליליים, אז אנחנו לא לוקחים בחשבון 0-1: 1 - 0 = 1; 0 - 0 = 0; 1 - 1 = 0. אם יש יותר מספרה אחת, אז הכל גם פשוט, אפילו אין צורך בעמודות וטריקים: 110111 - 1000, זה זהה ל-55 - 8. כתוצאה מכך, אנו מקבלים 101111. ו הלב הפסיק לפעום, מאיפה היחידה בספרה השלישית (מספור משמאל לימין ומתחיל מאפס)? כן, הכל פשוט! בספרה השנייה של המספר 110111 יש 0, ובספרה הראשונה יש 1 (אם נניח שהמספור של הספרות מתחיל מ-0 והולך משמאל לימין), אבל מתקבלת היחידה של הספרה הרביעית. על ידי חיבור של שתי יחידות מהספרה השלישית (מתקבל מעין שתיים וירטואליות) ומהשניים הזה נחסר אחת, שנמצאת בספרת האפס של המספר 1000, אבל 2 - 1 \u003d 1, ובכן, 1 הוא חוקי ספרה במערכת המספרים הבינארית.

הכפלה של מספרים בינאריים

נותר לנו לשקול את הכפל של מספרים בינאריים, המיישמת על ידי הזזה של סיביות אחת שמאלה. אבל ראשית, בואו נסתכל על התוצאות של כפל חד ספרתי: 1*1 = 1; 1*0=0 0*0=0. למעשה, הכל פשוט, עכשיו בואו נסתכל על משהו מורכב יותר. ניקח את המספרים 101001 (41) ו-1100 (12). נכפיל בעמודה.

אם לא ברור מהטבלה איך זה קרה, אז אנסה להסביר במילים:

  1. זה נוח להכפיל מספרים בינאריים בעמודה, אז נכתוב את הגורם השני מתחת לראשון, אם למספרים יש מספר שונה של ספרות, אז זה יהיה נוח יותר אם יותריהיה על העליונה.
  2. השלב הבא הוא להכפיל את כל הספרות של המספר הראשון בספרה הפחות משמעותית של המספר השני. אנו רושמים את תוצאת הכפל למטה; במקרה זה, יש צורך לרשום אותה כך שתוצאת הכפל תיכתב מתחת לכל ספרה מתאימה.
  3. כעת עלינו להכפיל את כל הספרות של המספר הראשון בספרה הבאה של המספר השני ולכתוב את התוצאה שורה נוספת למטה, אך יש להזיז את התוצאה הזו ספרה אחת שמאלה, אם מסתכלים בטבלה, זה הוא הרצף השני של אפסים מלמעלה.
  4. אתה צריך לעשות את אותו הדבר עבור הספרות הבאות, בכל פעם להעביר ספרה אחת שמאלה, ואם אתה מסתכל על הטבלה, אתה יכול לומר תא אחד שמאלה.
  5. קיבלנו ארבעה מספרים בינאריים, שעליך להוסיף כעת ולקבל את התוצאה. בנוסף שקלנו לאחרונה, בעיות לא אמורות להתעורר.

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

פעולות אלגברה בוליאנית

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

פעולה "לוגית AND" או AND

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

1 ו-1 = 1; 1 ו-0 = 1; 0 ו-0 = 0; 0 ו-1 = 0.

1 ו-1 = 1;

1 ו-0 = 1;

0 ו-0 = 0;

0 ו-1 = 0.

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

מבצע "או לוגי" או OR

הפעולה "Logical OR" או OR פועלת לפי העיקרון הבא: אם לפחות ערך אחד שווה לאחד, אז התוצאה תהיה אחת.

1 או 1 = 1; 1 או 0 = 1; 0 או 1 = 1; 0 או 0 = 0.

1 או 1 = 1 ;

1 או 0 = 1;

0 או 1 = 1;

0 או 0 = 0.

תפעול XOR

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