בסיס בינארי

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

במתמטיקה ובמדעי המחשב מערכת ספירה על בָּסִיס בִּינָארִי, או מערכת ספירה על בסיס 2 (על פי הצעת האקדמיה ללשון העברית: בָּסִיס שְׁנִיּוֹנִי), מייצגת ערכים מספריים באמצעות שני סמלים, בדרך כלל 0 ו-1. בפרט, שיטת הספירה הבינארית הנפוצה היא סימון לפי מקום עם בסיס 2. מספרים המיוצגים בשיטה זו נקראים לרוב מספרים בינאריים.

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

היסטוריה

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

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

0 0 0 0 ערך מספרי 110
1 0 0 0 ערך מספרי 210
0 1 0 0 ערך מספרי 310
1 1 0 0 ערך מספרי 410

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

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

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

השיטה המקובלת לספירה בבסיס בינארי

חיבור בינארי

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

עשרוני בינארי
0 000
1 001
2 010
3 011
4 100
5 101
6 110
7 111

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

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

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

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

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

מעבר ממספרים בינאריים למספרים עשרוניים, בכתב ידו של לייבניץ (סביב 1700)

בסיס הספירה העשרונית הוא 10, משום שלספירה זו 10 סימנים.
פירוק מספר עשרוני:

הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle \!\, 1452 = 1\cdot1000 + 4\cdot100 + 5\cdot10 + 2 = 1\cdot10^3 + 4\cdot10^2 + 5\cdot10^1 + 2\cdot10^0 }

אנו רואים כי הבסיס המשותף לכל האיברים הוא 10. בסיס הספירה הבינארית הוא 2 (לספירה זו שני סימנים), לכן נפרק את המספר הבינארי הבא בהתאם לפירוק המספר העשרוני:

הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle 1101 = 1\cdot2^3+1\cdot2^2+0\cdot2^1+1\cdot2^0 = 8+4+0+1=13}

מכאן שהמספר 1101 בספירה בינארית שקול למספר 13 בספירה עשרונית.

לכן נציג נוסחה כללית, למעבר מספרה המוצגת בבסיס בינארי לבסיס עשרוני (באגף השמאלי מופיע המספר בספרות בינאריות, ומימין משמעותו בספרות עשרוניות):

הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle a_1a_2a_3...a_n = a_1\cdot2^{n-1} + a_2\cdot2^{n-2} + a_3\cdot2^{n-3} +... + a_n\cdot2^0}

או, באמצעות נוסחת נסיגה,

כאשר X מייצג את מס' הספרות של המס' הבינארי, Y מייצג את הערך העשרוני של המספר הבינארי ללא הספרה השמאלית ביותר, וידוע כי a(0) = 0 וכן a(1) = 1.

לדוגמה,

הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle a(01) = 1}

ומכאן

הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle a(101)= 2^2 + a(01) = 4 + 1 = 5}

ולכן,

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

מעבר ממספר עשרוני למספר בינארי יתבצע באמצעות המרה של המספר העשרוני למספרים בחזקה בעלת בסיס 2 וסידורם בסדר כרונולוגי. דוגמה: ניקח את המספר 73. תחילה נמצא את החזקה בבסיס 2 הקרובה ביותר למספר (אך קטנה ממנו). החזקה הקטנה ביותר המתאימה היא: הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle 2^6=64} . כדי להגיע למספר 73 נצטרך להוסיף עוד חזקות בעלות בסיס 2. נבדוק אם הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle 2^5} יתאים לנו:

הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle 2^6 + 2^5 = 64 + 32 = 96 > 73}

קיבלנו מספר גדול מהמספר 73. לכן יש לחפש חזקה קטנה יותר. נבדוק אם הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle 2^4} יתאים לנו:

קיבלנו מספר גדול מהמספר 73. לכן יש לחפש חזקה קטנה יותר. נבדוק אם הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle 2^3} יתאים לנו:

הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle 2^6 + 2^3 = 64 + 8 = 72 < 73}

המספר 72 קטן מהמספר 73, לכן החזקה הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle 2^3} מתאימה לנו.

כדי להגיע מ-72 ל-73 נצטרך להוסיף עוד מספר. ברור כי הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle 2^2} , ו- לא יתאימו לנו, אבל הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle 2^0=1} יתאים לנו.

אם כן פירוק המספר 73 לחזקות בעלות בסיס 2 הוא:

הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle 73 = 2^6 + 2^3 + 2^0}

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

הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle 73 = 1\cdot2^6 + 0\cdot2^5 + 0\cdot2^4 + 1\cdot2^3 +0\cdot2^2 +0\cdot2^1+ 1\cdot2^0}

כלומר, חזקות שהשתמשנו בהן, הוכפלו ב-1 וחזקות שלא השתמשנו בהם, הוכפלו ב-0. המספר הבינארי שלנו מורכב מהמקדמים של מספרי החזקות. מכאן ש-73 בספירה בינארית הוא: הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle 1001001}

דרך מקוצרת

דרך קלה יותר לבצע את ההמרה הזו מתבצעת על ידי חלוקה חוזרת של המספר העשרוני ב-2 ובדיקת השארית:

  1. מתחילים במספר המקורי, הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle k}
  2. כל עוד k שונה מ-0,
    1. כותבים את השארית של החלוקה (k mod 2).
    2. לוקחים את החלק השלם של תוצאת החלוקה ב-2 (k div 2, בשפת C, למשל) ומסמנים אותו ב-k.

בסוף התהליך, השאריות הן הייצוג של המספרי הבינארי בסדר ההפוך.

דוגמה

k k div 2 k mod 2
73 36 1
36 18 0
18 9 0
9 4 1
4 2 0
2 1 0
1 0 1

ואם נקרא את השאריות מלמטה למעלה, נקבל את ייצוג המספר בבסיס בינארי: 1001001

(אילו היינו ממשיכים את החלוקה ב-2, היינו מקבלים את המספר 000001001001…, השווה למספר המצומצם 1001001.)

שיטה זו שקולה לשיטה הקודמת, אבל קלה יותר ליישום אלגוריתמי.

המרה בין בסיסי מספרים נפוצים

עשרוני: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
הקסדצימלי: 0 1 2 3 4 5 6 7 8 9 A B C D E F 10
אוקטלי: 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20
בינארי: 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 10000


בסיס בינארי במחשבים

קובץ:Programmierer binary.gif
קריקטורה של מתכנת מחשבים שעובד עם קוד בינארי בלבד

סיבית (קיצור של סיפרה בינארית; באנגלית: bit או ביט, קיצור של "binary digit") היא ספרה בינארית המשמשת כיחידת הנתונים הקטנה ביותר שבה משתמש המחשב. סיבית יכולה להכיל ערך 0 או 1 בלבד. הסיבה לשימוש בשיטה הבינארית היא פשטות המימוש האלקטרוני והלוגי של שיטה זו - נדרש טיפול בשני מצבים בלבד (למשל: יש זרם = 1, אין זרם = 0).

ניתן ליצג מידע באמצעות דפוסים של סיביות על ידי תהליך של דיגיטציה[1].

ראו גם

קישורים חיצוניים

ויקישיתוף מדיה וקבצים בנושא בסיס בינארי בוויקישיתוף

הערות שוליים

  1. ^ Denning, P. J., & Bell, T. (2012). The Information Paradox. American Scientist, 100(6), 470-477.


הערך באדיבות ויקיפדיה העברית, קרדיט,
רשימת התורמים
רישיון cc-by-sa 3.0