ממיר בינארי לעשרוני
המר מספרים בינאריים לעשרוניים ועשרוניים לבינאריים באופן מיידי. תומך במספרים עד 64 ביט. ממיר חינמי זה נותן תוצאות מיידיות ומדויקות.
כיצד עובדת המרת בינארי לעשרוני
בינארי (בסיס-2) משתמש רק בספרות 0 ו-1. כל מיקום מייצג חזקה של 2, ומכפיל את הערך פי שניים מימין לשמאל. כדי להמיר בינארי לעשרוני, הכפל כל ספרה בינארית בערך המיקום שלה וסכם את התוצאות.
דוגמה: המרה של 1011₂ לעשרוני
- מיקום 3 (השמאלי ביותר): 1 × 2³ = 1 × 8 = 8
- מיקום 2: 0 × 2² = 0 × 4 = 0
- מיקום 1: 1 × 2¹ = 1 × 2 = 2
- מיקום 0 (הימני ביותר): 1 × 2⁰ = 1 × 1 = 1
- סה"כ: 8 + 0 + 2 + 1 = 11
להמרה מעשרוני לבינארי, חלק שוב ושוב ב-2 ורשום את השאריות מלמטה למעלה. 11 ÷ 2 = 5 שארית 1, 5 ÷ 2 = 2 שארית 1, 2 ÷ 2 = 1 שארית 0, 1 ÷ 2 = 0 שארית 1 → קריאת השאריות כלפי מעלה: 1011.
מערכת הסימון המיקומי הזו פועלת באותו אופן כמו עשרוני — רק עם בסיס שונה. בעשרוני (בסיס-10), המספר 347 פירושו 3×10² + 4×10¹ + 7×10⁰ = 300 + 40 + 7. בינארי משתמש באותו עיקרון עם חזקות של 2 במקום חזקות של 10.
טבלת ערכי מיקומים בינאריים
בייט 8-סיביות הוא יחידת האחסון הבסיסית של המחשב. להלן טבלת ערכי המיקומים המלאה למספרים של 8 סיביות (0–255):
| מיקום סיבית | חזקה של 2 | ערך עשרוני |
|---|---|---|
| סיבית 7 (MSB) | 2⁷ | 128 |
| סיבית 6 | 2⁶ | 64 |
| סיבית 5 | 2⁵ | 32 |
| סיבית 4 | 2⁴ | 16 |
| סיבית 3 | 2³ | 8 |
| סיבית 2 | 2² | 4 |
| סיבית 1 | 2¹ | 2 |
| סיבית 0 (LSB) | 2⁰ | 1 |
בייט יכול לייצג כל ערך מ-0 (00000000₂) עד 255 (11111111₂). שני בייטים (16 סיביות) מכסים 0–65,535. ארבעה בייטים (32 סיביות) מכסים 0–4,294,967,295.
טבלת חזקות מורחבות של 2
עבור מתכנתים ומדעני מחשבים, ידיעת חזקות של 2 עד 2⁶⁴ חיונית להבנת כתובות זיכרון, סוגי נתונים ומגבלות מערכת:
| חזקה | ערך עשרוני | משמעות |
|---|---|---|
| 2⁰ | 1 | היחידה הקטנה ביותר (סיבית אחת) |
| 2⁸ | 256 | טווח של בייט אחד (0–255) |
| 2¹⁰ | 1,024 | 1 קיביביי (kibibyte) |
| 2¹⁶ | 65,536 | טווח של 16 סיביות; מגבלת יציאת TCP |
| 2²⁰ | 1,048,576 | 1 מביביי (mebibyte) |
| 2²⁴ | 16,777,216 | צבע של 24 סיביות (16.7 מיליון צבעים) |
| 2³⁰ | 1,073,741,824 | 1 גיביי (gibibyte) |
| 2³² | 4,294,967,296 | מרחב כתובות של 32 סיביות; מקסימום IPv4 |
| 2⁴⁰ | 1,099,511,627,776 | 1 טיביביי (tebibyte) |
| 2⁶⁴ | 18,446,744,073,709,551,616 | מרחב כתובות של 64 סיביות; מעבדים מודרניים |
שימו לב להבדל בין תחיליות בינאריות (קיבי, מבי, גיבי — חזקות של 2) לתחיליות SI (KB, MB, GB — חזקות של 10). 1 GB = 1,000,000,000 בתים; 1 GiB = 1,073,741,824 בתים. ההבדל של כ-7% מסביר מדוע כונן קשיח של "500 GB" מוצג כ-~465 GiB במערכת ההפעלה שלכם (שבדרך כלל משתמשת ביחידות בינאריות באופן פנימי).
ערכים בינאריים נפוצים במחשוב
ערכים בינאריים אלה מופיעים לעתים קרובות בתכנות, ברשתות ובניהול מערכות:
| בינארי | עשרוני | הקסדצימלי | הקשר |
|---|---|---|---|
| 00000000 | 0 | 0x00 | בייט NULL, ערוץ צבע שחור |
| 00001010 | 10 | 0x0A | תו הזנה (LF) — שורה חדשה ב-Unix |
| 00001101 | 13 | 0x0D | החזרת עגלה (CR) — חלק משורה חדשה ב-Windows |
| 00100000 | 32 | 0x20 | תו רווח (ASCII) |
| 01000001 | 65 | 0x41 | ASCII 'A' |
| 01100001 | 97 | 0x61 | ASCII 'a' (שונה מ-'A' בסיבית 5) |
| 01111111 | 127 | 0x7F | כתובת IP של localhost (אוקטט אחרון); תו DEL |
| 10000000 | 128 | 0x80 | תחילת ASCII מורחב / סיבית סימן |
| 11000000 | 192 | 0xC0 | קידומת רשת מסוג C (192.x.x.x) |
| 11111111 | 255 | 0xFF | שידור; מקסימום בייט; לבן ב-RGB |
השוואה בין בינארי, הקסדצימלי ואוקטלי
מתכנתים משתמשים בבסיסי מספרים שונים בהתאם להקשר. הנה איך אותם ערכים מופיעים בכל מערכת:
| עשרוני | בינארי | הקסדצימלי | אוקטלי | מקרה שימוש |
|---|---|---|---|---|
| 0 | 0000 | 0x0 | 0o0 | אפס / ריק |
| 7 | 0111 | 0x7 | 0o7 | הרשאה ב-Unix (rwx) |
| 10 | 1010 | 0xA | 0o12 | — |
| 15 | 1111 | 0xF | 0o17 | מקסימום 4 סיביות (נגיסה) |
| 16 | 10000 | 0x10 | 0o20 | — |
| 127 | 1111111 | 0x7F | 0o177 | מקסימום 8 סיביות חתומות |
| 255 | 11111111 | 0xFF | 0o377 | מקסימום 8 סיביות לא חתומות |
| 511 | 111111111 | 0x1FF | 0o777 | הרשאה ב-Unix rwxrwxrwx |
| 1023 | 1111111111 | 0x3FF | 0o1777 | מקסימום 10 סיביות (ADC) |
הקסדצימלי הוא הקיצור הנפוץ ביותר לבינארי מכיוון שכל ספרת הקס מתאימה בדיוק ל-4 סיביות בינאריות — מה שהופך את ההמרה לטריוויאלית. אוקטלי ממפה 3 סיביות לכל ספרה ומשמש בעיקר להרשאות קבצים ב-Unix (למשל, chmod 755 = 111 101 101 בבינארי = rwxr-xr-x).
מספרים בינאריים חתומים (השלמה ל-2)
מחשבים מייצגים מספרים שליליים באמצעות השלמה ל-2 — התקן שהוגדר על ידי IEEE ומשמש כמעט את כל המעבדים המודרניים. במערכת של 8 סיביות עם השלמה ל-2:
| בינארי | עשרוני לא חתום | חתום (השלמה ל-2) |
|---|---|---|
| 00000000 | 0 | 0 |
| 00000001 | 1 | +1 |
| 01111111 | 127 | +127 (מקסימום חיובי) |
| 10000000 | 128 | −128 (מינימום שלילי) |
| 10000001 | 129 | −127 |
| 11111110 | 254 | −2 |
| 11111111 | 255 | −1 |
כדי להכפיל מספר בהשלמה ל-2: להפוך את כל הסיביות ולהוסיף 1. לדוגמה, +5 = 00000101 → להפוך → 11111010 → להוסיף 1 → 11111011 = −5.
הטווחים של סוגי מספרים שלמים נפוצים:
| סוג | סיביות | טווח לא חתום | טווח חתום |
|---|---|---|---|
| byte / uint8 | 8 | 0 עד 255 | −128 עד +127 |
| short / int16 | 16 | 0 עד 65,535 | −32,768 עד +32,767 |
| int / int32 | 32 | 0 עד 4,294,967,295 | −2,147,483,648 עד +2,147,483,647 |
| long / int64 | 64 | 0 עד 18.4 × 10¹⁸ | −9.2 × 10¹⁸ עד +9.2 × 10¹⁸ |
בינארי בטכנולוגיה היומיומית
בינארי הוא הבסיס של כל המחשוב המודרני מכיוון שלטרנזיסטורים יש שני מצבים יציבים (פועל/לא פועל, 1/0). יישומים עיקריים:
- גודל קבצים: 1 קילובייט = 2¹⁰ = 1,024 בתים; 1 מגהבייט = 2²⁰ = 1,048,576 בתים; 1 גיגהבייט = 2³⁰ בתים
- צבעים: צבעי RGB הם שלושה ערכים של 8 סיביות. #FF5733 בהקסדצימלי = (255, 87, 51) בבסיס עשרוני = (11111111, 01010111, 00110011) בבינארי
- קידוד ASCII: האות 'A' = עשרוני 65 = בינארי 01000001; 'a' = 97 = 01100001
- Unicode: רוב תווי הטקסט מתאימים לבינארי של 16 סיביות (טווח 0–65,535)
- כתובות IP: כתובות IPv4 הן ארבע קבוצות בינאריות של 8 סיביות: 192.168.1.1 = 11000000.10101000.00000001.00000001
הבנה ישירה של בינארי מסייעת בתכנות (פעולות סיביות, דגלים), ברשתות (חישובים של IP/תת-רשת) ובעבודה עם חומרה ברמה נמוכה.
חשבון בינארי: חיבור וחיסור
חשבון בינארי פועל לפי אותם כללים כמו עשרוני, אך עם שתי ספרות בלבד. טבלת החיבור היא:
| A | B | סכום | נשא |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0 | 1 | 1 | 0 |
| 1 | 0 | 1 | 0 |
| 1 | 1 | 0 | 1 |
דוגמה: 1011 + 0110
עבודה מימין לשמאל: 1+0=1, 1+1=10 (כותבים 0 נושאים 1), 0+1+1=10 (כותבים 0 נושאים 1), 1+0+1=10 (כותבים 0 נושאים 1). תוצאה: 10001 (עשרוני: 11+6=17 ✓)
חיסור בחומרה מבוצע בדרך כלל על ידי הוספת המשלים לשניים של המוחסר. כדי לחשב A−B, המעבד מחשב A + (−B), כאשר −B הוא המשלים לשניים של B. זה מאפשר למעגל מחבר יחיד להתמודד עם חיבור וחיסור כאחד.
פעולות סיביות
שפות תכנות מספקות אופרטורים סיביתיים שמתפעלים סיביות בודדות. אלה הם יסודיים עבור תכנות ברמה נמוכה, מערכות מוטמעות ואופטימיזציית ביצועים:
| פעולה | סמל | דוגמה (8 סיביות) | תוצאה | מקרה שימוש |
|---|---|---|---|---|
| AND | & | 10110101 & 11110000 | 10110000 | מיסוך סיביות, חילוץ שדות |
| OR | | | 10110101 | 00001111 | 10111111 | הגדרת סיביות, שילוב דגלים |
| XOR | ^ | 10110101 ^ 11111111 | 01001010 | החלפת סיביות, הצפנה פשוטה |
| NOT | ~ | ~10110101 | 01001010 | היפוך סיביות |
| הזזה שמאלה | << | 00000101 << 2 | 00010100 | כפל ב-2ⁿ |
| הזזה ימינה | >> | 00010100 >> 2 | 00000101 | חלוקה ב-2ⁿ |
הזזת סיביות מהירה משמעותית מכפל/חילוק במעבדים רבים. x << 1 שווה ערך ל-x × 2, ו-x >> 1 שווה ערך ל-x ÷ 2 (חילוק שלם). מנועי משחקים וקושחה מוטמעת משתמשים בפעולות אלה באופן נרחב לצורך ביצועים.
עשרוני מקודד בינארי (BCD)
עשרוני מקודד בינארי מייצג כל ספרה עשרונית באמצעות תבנית בינארית ייחודית של 4 סיביות. שלא כמו בינארי טהור, BCD משמר את המבנה העשרוני:
| עשרוני | בינארי טהור | BCD |
|---|---|---|
| 0 | 0000 | 0000 |
| 5 | 0101 | 0101 |
| 9 | 1001 | 1001 |
| 10 | 1010 | 0001 0000 |
| 42 | 101010 | 0100 0010 |
| 99 | 1100011 | 1001 1001 |
| 255 | 11111111 | 0010 0101 0101 |
BCD פחות חסכוני בשטח מאשר בינארי טהור (10 מתוך 16 השילובים האפשריים של 4 סיביות בשימוש), אך הוא מפשט תצוגה עשרונית — כל ניבל ממופה ישירות לספרה המוצגת. BCD משמש בשעונים דיגיטליים, מחשבונים, מערכות פיננסיות (בהן ייצוג עשרוני מדויק חשוב) ובמאגרי נתונים מיושנים של מחשבי מיינפריים (COBOL, IBM EBCDIC).
בינארי נקודה צפה (IEEE 754)
מספרים עשרוניים עם חלקים שבריים (כמו 3.14) מאוחסנים בבינארי באמצעות תקן IEEE 754. למספר צף של 32 סיביות (דיוק יחיד) יש שלושה חלקים:
| שדה | סיביות | מטרה |
|---|---|---|
| סימן | 1 | 0 = חיובי, 1 = שלילי |
| מעריך | 8 | מעריך מוטה (הטייה = 127) |
| משמעות (חלק שלם) | 23 | חלק שברי (1 מוביל מרומז) |
דוגמה: המספר העשרוני −6.5 ב-IEEE 754 דיוק יחיד:
- סימן = 1 (שלילי)
- 6.5 בבינארי = 110.1₂ = 1.101 × 2² (מורם)
- מעריך = 2 + 127 (הטייה) = 129 = 10000001₂
- משמעות = 10100000000000000000000 (23 סיביות, 1 מוביל מרומז מושמט)
- ייצוג מלא: 1 10000001 10100000000000000000000
זו הסיבה ש-0.1 + 0.2 ≠ 0.3 ברוב שפות התכנות — לשבר העשרוני 0.1 יש ייצוג בינארי אינסופי חוזר (כמו 1/3 בעשרוני = 0.333…), כך שהוא חייב להיות מעוגל, מה שמכניס שגיאות זעירות. לחישובים פיננסיים, השתמשו בספריות חשבון עשרוני (מודול decimal של Python, BigDecimal של Java) במקום נקודה צפה.
קידוד תווים: מ-ASCII ל-UTF-8
טקסט מאוחסן כמספרים בינאריים הממופים לתווים. התפתחות קידוד התווים משקפת את ההתרחבות הגלובלית של המחשוב:
| קידוד | שנה | סיביות לתו | תווים נתמכים | הערות |
|---|---|---|---|---|
| ASCII | 1963 | 7 (מאוחסן ב-8) | 128 | אותיות אנגליות, ספרות, סימני פיסוק |
| ASCII מורחב (ISO 8859-1) | 1987 | 8 | 256 | תווים מערב אירופאים (é, ñ, ü) |
| UTF-8 | 1993 | 8–32 (משתנה) | 1,112,064 | תואם לאחור עם ASCII; תקן אינטרנט |
| UTF-16 | 1996 | 16–32 (משתנה) | 1,112,064 | משמש ב-Java, Windows, JavaScript פנימי |
| UTF-32 | 2000 | 32 (קבוע) | 1,112,064 | רוחב קבוע; מבזבז מקום עבור טקסט לטיני |
UTF-8 מקודד תווים של ASCII בבית אחד (זהה ל-ASCII רגיל), תווים אירופאים ב-2 בתים, תווים של CJK ב-3 בתים ואמוג'י ב-4 בתים. מעל 98% מכל דפי האינטרנט משתמשים בקידוד UTF-8 (לפי W3Techs, 2024).
שערי היגיון בינאריים
שערי היגיון הם אבני הבניין הפיזיות של כל המעגלים הדיגיטליים. כל שער מבצע פעולה בינארית פשוטה על ביט אחד או שניים של קלט:
| שער | סמל | טבלת אמת (A,B → פלט) | תיאור |
|---|---|---|---|
| AND | A·B | 0,0→0; 0,1→0; 1,0→0; 1,1→1 | הפלט הוא 1 רק כאשר שני הקלטים הם 1 |
| OR | A+B | 0,0→0; 0,1→1; 1,0→1; 1,1→1 | הפלט הוא 1 כאשר לפחות קלט אחד הוא 1 |
| NOT | ¬A | 0→1; 1→0 | מבצע היפוך של הקלט |
| NAND | ¬(A·B) | 0,0→1; 0,1→1; 1,0→1; 1,1→0 | AND ואחריו NOT — שער אוניברסלי |
| XOR | A⊕B | 0,0→0; 0,1→1; 1,0→1; 1,1→0 | הפלט הוא 1 כאשר הקלטים שונים |
שער ה-NAND נקרא שער אוניברסלי מכיוון שכל פונקציית היגיון אחרת יכולה להיבנות באמצעות שערי NAND בלבד. מעבדי מרכזיים מודרניים מכילים מיליארדי טרנזיסטורים המסודרים לשערי NAND ו-NOR, אשר משולבים לאחר מכן למחברים, מרבבים, טריגרים וכל אבני הבניין האחרות של מעבד. שבב ה-Apple M3 מכיל כ-25 מיליארד טרנזיסטורים — כל אחד מהם מתג בינארי מיקרוסקופי שהוא או פועל (1) או כבוי (0).
לשער ה-XOR יש תכונה מיוחדת: הוא מפיק 1 כאשר שני הקלטים שונים. זה הופך אותו לבסיס של חיבור בינארי (סיבית הסכום של מחבר חצי), זיהוי שגיאות (בדיקות זוגיות) והצפנה פשוטה (צופן XOR).
היסטוריה של בינארי: מלייפניץ למחשוב מודרני
למערכת המספרים הבינארית יש היסטוריה אינטלקטואלית עשירה:
| שנה | אדם/אירוע | תרומה |
|---|---|---|
| ~300 לפנה"ס | פינגלה (מתמטיקאי הודי) | השתמש במערכת דמוית בינארית לסיווג מטרים פואטיים |
| 1679 | גוטפריד לייבניץ | תיאר באופן פורמלי את החשבון הבינארי המודרני; ראה קשרים לאי צ'ינג הסיני |
| 1847 | ג'ורג' בול | פרסם את "הניתוח המתמטי של ההיגיון" — יסוד אלגברת בול |
| 1937 | קלוד שאנון (עבודת תזה ב-MIT) | הראה שאלגברת בול יכולה לדגמן מעגלי מיתוג חשמליים |
| 1945 | ג'ון פון נוימן | הציע ארכיטקטורת מחשב בינארית עם תוכנית מאוחסנת (ארכיטקטורת פון נוימן) |
| 1971 | Intel 4004 | המיקרו-מעבד המסחרי הראשון — 2,300 טרנזיסטורים, בינארי 4-סיביות |
| 2024 | מעבדי מרכזיים מודרניים | מיליארדי טרנזיסטורים; תקן ארכיטקטורה בינארית 64-סיביות |
התובנה של לייבניץ שכל המספרים יכולים לבוא לידי ביטוי באמצעות 0 ו-1 בלבד הייתה מתמטית גרידא — הוא מעולם לא דמיין מחשבים אלקטרוניים. עבודת המאסטר של שאנון מ-1937 קישרה בין לוגיקה בוליאנית (בינארית) לממסרים חשמליים, ויצרה את הבסיס התיאורטי לכל האלקטרוניקה הדיגיטלית. היא זכתה לכינוי "אולי עבודת המאסטר החשובה ביותר של המאה העשרים."
בינארי ברשתות: כתובות IP ומסיכות רשת
הבנת בינארי חיונית לניהול רשת. כתובות IPv4 ומסיכות רשת הן מספרים בינאריים של 32 סיביות:
| תיאור | עשרוני מנוקד | בינארי |
|---|---|---|
| כתובת IP | 192.168.1.100 | 11000000.10101000.00000001.01100100 |
| מסיכת רשת (/24) | 255.255.255.0 | 11111111.11111111.11111111.00000000 |
| כתובת רשת | 192.168.1.0 | 11000000.10101000.00000001.00000000 |
| כתובת שידור | 192.168.1.255 | 11000000.10101000.00000001.11111111 |
כתובת הרשת מחושבת על ידי פעולת AND של ה-IP עם מסיכת הרשת. כתובת השידור מגדירה את כל סיביות המארח ל-1. מספר כתובות המארח הניתנות לשימוש = 2(32−קידומת) − 2. עבור רשת /24: 2⁸ − 2 = 254 מארחים ניתנים לשימוש.
גדלי רשת נפוצים:
| CIDR | מסיכת רשת | מארחים | שימוש אופייני |
|---|---|---|---|
| /32 | 255.255.255.255 | 1 | נתיב מארח יחיד |
| /30 | 255.255.255.252 | 2 | קישור נקודה לנקודה |
| /24 | 255.255.255.0 | 254 | רשת LAN סטנדרטית |
| /16 | 255.255.0.0 | 65,534 | רשת קמפוס גדולה |
| /8 | 255.0.0.0 | 16,777,214 | הקצאה מסוג Class A |
שאלות נפוצות
כיצד אוכל להמיר בינארי 1100 לעשרוני?
1100 בבינארי: 1×8 + 1×4 + 0×2 + 0×1 = 8 + 4 = 12. כך שבינארי 1100 = עשרוני 12.
מה זה 255 בבינארי?
255 בבינארי הוא 11111111 — כל שמונה הסיביות מוגדרות ל-1. זהו הערך המרבי של בית בודד ומופיע ברשתות (מסיכת רשת 255.255.255.0) וערכי צבע (אדום מלא = 255, 0, 0).
כיצד אוכל להמיר עשרוני 100 לבינארי?
מחלקים שוב ושוב ב-2: 100÷2=50 שארית 0, 50÷2=25 שארית 0, 25÷2=12 שארית 1, 12÷2=6 שארית 0, 6÷2=3 שארית 0, 3÷2=1 שארית 1, 1÷2=0 שארית 1. קריאת השאריות כלפי מעלה: 1100100₂. אימות: 64+32+4 = 100. ✓
מה ההבדל בין בינארי לבין הקסדצימלי?
בינארי משתמש בבסיס 2 (ספרות 0–1); הקסדצימלי משתמש בבסיס 16 (ספרות 0–9, A–F). הקס הוא קיצור קומפקטי לבינארי — כל ספרת הקס מייצגת בדיוק 4 סיביות בינאריות. לדוגמה, הקס FF = בינארי 11111111 = עשרוני 255.
מדוע מחשבים משתמשים בבינארי במקום בעשרוני?
מעגלים אלקטרוניים הם בינאריים באופן טבעי: טרנזיסטור הוא או פועל (1) או כבוי (0), ומתח הוא או גבוה או נמוך. עשרוני ידרוש 10 רמות מתח שונות, וזה קשה ליישם באופן אמין בחומרה. בינארי עמיד לרעש ומתמפה בצורה מושלמת לפעולות לוגיות אמת/שקר.
מהו משלים ל-2?
משלים ל-2 היא השיטה הסטנדרטית לייצוג מספרים שלמים חתומים (חיוביים ושליליים) בבינארי. כדי למצוא את המשלים ל-2 (שלילי) של מספר: להפוך את כל הסיביות ולהוסיף 1. במערכת של 8 סיביות, +5 הוא 00000101, ו-5 הוא 11111011. הסיבית השמאלית ביותר היא סיבית הסימן: 0 = חיובי, 1 = שלילי. מערכת זו מאפשרת לחומרה להשתמש באותו מעגל מחבר עבור חיבור וחיסור כאחד.
כיצד אוכל להמיר בינארי להקסדצימלי?
מקבצים את הספרות הבינאריות לקבוצות של 4 מימין לשמאל, ואז ממירים כל קבוצה. דוגמה: 10110101₂ → 1011 0101 → B5₁₆. הקיבוצים הם: 0000=0, 0001=1, 0010=2,..., 1001=9, 1010=A, 1011=B, 1100=C, 1101=D, 1110=E, 1111=F.