בסיס בינארי

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

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

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

==היסטוריה==
מספרים ב[[בסיס עשרוני ומקביליהם בבסיס בינארי, על פסלו של גוטפריד וילהלם לייבניץ]]
המשכיל ההודי פיתח עקרונות מתמטיים לתיאור משקל בשירה ובזאת למעשה הציג את התיאור הראשון למערכת ספירה בינארית. הוא עשה שימוש בסמלים לייצוג הברות, וחילק בין הברות קצרות וארוכות. שני הסמלים ששימשו אותו לא היו 0 ו-1 אלא קו קצר וקו ארוך השווה באורכו לשני קווים קצרים, בצורה הדומה לקוד מורס. הוא יצר טבלאות על מנת לתת לכל רצף ערך ייחודי. דוגמה לטבלה שכזו: (ההצגה הזו היא בכיוון ההפוך מהשיטה המודרנית)
: 0 0 0 0 ערך מספרי 1<sub>10</sub>
: 1 0 0 0 ערך מספרי 2<sub>10</sub>
: 0 1 0 0 ערך מספרי 3<sub>10</sub>
: 1 1 0 0 ערך מספרי 4<sub>10</sub>

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

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

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

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

בשיטה זו, ערכה של כל ספרה "1" הוא <math>2^n</math> כאשר n הוא מיקום הספרה מימין, החל מ-0.
לדוגמה, הייצוג של המספרים הטבעיים הקטנים מ-8 יהיה:
{| class="wikitable"
|+
! עשרוני !! בינארי
|-
| 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 סימנים.
פירוק מספר עשרוני:

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

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

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

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

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

לדוגמה,

ומכאן

ולכן,

== מעבר ממספרים עשרוניים למספרים בינאריים ==
מעבר ממספר עשרוני למספר בינארי יתבצע באמצעות המרה של המספר העשרוני למספרים בחזקה בעלת בסיס 2 וסידורם בסדר כרונולוגי.
דוגמה: ניקח את המספר 73. תחילה נמצא את החזקה בבסיס 2 הקרובה ביותר למספר (אך קטנה ממנו). החזקה הקטנה ביותר המתאימה היא:
<math>2^6=64</math>. 
כדי להגיע למספר 73 נצטרך להוסיף עוד חזקות בעלות בסיס 2. נבדוק אם <math>2^5</math> יתאים לנו:

קיבלנו מספר גדול מהמספר 73. לכן יש לחפש חזקה קטנה יותר. נבדוק אם <math>2^4</math> יתאים לנו:

קיבלנו מספר גדול מהמספר 73. לכן יש לחפש חזקה קטנה יותר. נבדוק אם <math>2^3</math> יתאים לנו:

המספר 72 קטן מהמספר 73, לכן החזקה <math>2^3</math> מתאימה לנו.

כדי להגיע מ-72 ל-73 נצטרך להוסיף עוד מספר. ברור כי <math>2^2</math>, ו-<math>2^1</math> לא יתאימו לנו, אבל <math>2^0=1</math> יתאים לנו.

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

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

כלומר, חזקות שהשתמשנו בהן, הוכפלו ב-1 וחזקות שלא השתמשנו בהם, הוכפלו ב-0.
המספר הבינארי שלנו מורכב מהמקדמים של מספרי החזקות. מכאן ש-73 בספירה בינארית הוא: <math>1001001</math>

=== דרך מקוצרת ===
דרך קלה יותר לבצע את ההמרה הזו מתבצעת על ידי חלוקה חוזרת של המספר העשרוני ב-2 ובדיקת השארית:
# מתחילים במספר המקורי, <math>k</math>
# כל עוד k שונה מ-0,
## כותבים את השארית של החלוקה (k mod 2).
## לוקחים את החלק השלם של תוצאת החלוקה ב-2 (k div 2, בשפת C, למשל) ומסמנים אותו ב-k.

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

==== דוגמה ====
{| class="wikitable" dir="ltr"
|-
! 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.)

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

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

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

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

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

==ראו גם==
*בסיס אוקטלי
*בסיס הקסדצימלי
*משלים ל-1
*משלים ל-2
*תוכנה - מונחים

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

* 
* 
* [https://web.archive.org/web/20090719070401/http://www.zutopedia.co.il/auto/bases.html המחשה אינטראקטיבית של ספירה בבסיס בינארי והקסדצימלי] מתוך אתר לילדים המלמד מושגים במדעי המחשב

==הערות שוליים==

קטגוריה:שיטות ספירה
קטגוריה:יחידות נתונים