מהו בינארי, ומדוע מחשבים משתמשים בו?
מחשבים לא מבינים מילים או מספרים כמו בני האדם. התוכנה המודרנית מאפשרת למשתמש הקצה להתעלם מזה, אבל ברמות הנמוכות ביותר של המחשב, הכל מיוצג על ידי אות חשמל בינארי שנרשם באחת משתי מדינות: מופעל או כבוי. כדי להבין את הנתונים המורכבים, המחשב צריך לקודד אותו בינארי.
בינארי הוא בסיס מספר 2 מערכת. Base 2 פירושו שיש רק שתי ספרות 1 ו- 0 - אשר תואמות את מצבי ההפעלה והלאה שבהם המחשב יכול להבין. אתה כנראה מכיר את בסיס 10 - מערכת עשרונית. הנקודה העשרונית משתמשת בעשר ספרות הנעות בין 0 ל -9, ולאחר מכן עוטפת אותן כדי ליצור מספרים דו-ספרתיים, כאשר כל ספרה שווה עשר פעמים יותר מהקודמתה (1, 10, 100, וכו '). בינארי דומה, עם כל ספרה להיות שווה פי שניים יותר מאשר האחרון.
ספירה בינארי
ב בינארי, הספרה הראשונה שווה 1 עשרוני. הספרה השנייה שווה 2, השלישי שווה 4, הרביעי שווה 8, וכך על הכפלה בכל פעם. הוספת אלה מעלה נותן לך את המספר העשרוני. לכן,
1111 (בבינארי) = 8 + 4 + 2 + 1 = 15 (בעשרונית)
חשבונאות עבור 0, זה נותן לנו 16 ערכים אפשריים עבור ארבעה ביטים בינאריים. עבור ל 8 סיביות, ויש לך 256 ערכים אפשריים. זה לוקח הרבה יותר מקום לייצג, כמו ארבע ספרות עשרוניות לתת לנו 10,000 ערכים אפשריים. זה אולי נראה כאילו אנחנו עוברים את כל הצרות של להמציא מחדש את מערכת הספירה שלנו רק כדי להפוך אותו clunkier, אבל המחשבים מבינים בינארי הרבה יותר טוב ממה שהם מבינים עשרוני. בטח, בינארי תופס יותר מקום, אבל אנחנו מוחזקים על ידי החומרה. ועל כמה דברים, כמו עיבוד לוגי, בינארי הוא טוב יותר מאשר עשרוני.
יש מערכת בסיס נוספת המשמשת גם בתכנות: הקסדצימלי. למרות המחשבים אינם פועלים על הקסדצימלי, מתכנתים להשתמש בו כדי לייצג כתובות בינאריות בתבנית לקריאה אנושית בעת כתיבת קוד. הסיבה לכך היא כי שתי ספרות של הקסדצימלי יכול לייצג בתים שלם, שמונה ספרות בינארי. הקסדצימלי משתמש 0-9 כמו עשרוני, וגם את האותיות A עד F לייצג את שש ספרות נוספות.
אז למה מחשבים להשתמש בינארי?
התשובה הקצרה: חומרה וחוקי הפיסיקה. כל מספר במחשב שלך הוא אות חשמלי, ובימי המחשוב הראשונים, אותות חשמליים היו הרבה יותר קשים למדוד ולשלוט במדויק. זה היה הגיוני יותר להבחין רק בין מדינה "על" המיוצגת על ידי מטען שלילי - לבין מדינה "off" - המיוצגת על ידי חיוב חיובי. עבור אלה לא בטוח למה את "off" מיוצג על ידי חיוב חיובי, זה בגלל האלקטרונים יש מטען שלילי יותר אלקטרונים מתכוון הנוכחי יותר עם מטען שלילי.
אז, המחשבים הראשונים בגודל החדר השתמשו בינאריים כדי לבנות את המערכות שלהם, ואף על פי שהם השתמשו בחומרה הרבה יותר מבוגרת, שמרנו על אותם עקרונות בסיסיים. מחשבים מודרניים משתמשים במה שמכונה טרנזיסטור כדי לבצע חישובים עם בינארי. הנה תרשים של טרנזיסטור שדה-אפקט (FET):
בעיקרון, זה רק מאפשר הזרם הנוכחי מן המקור לניקוז אם יש זרם בשער. זה יוצר מתג בינארי. היצרנים יכולים לבנות טרנזיסטורים אלה קטנים עד כדי 5 ננומטרים, או בערך בגודל של שני גדילי דנ"א. כך פועלים המעבדים המודרניים, ואפילו הם יכולים לסבול מבעיות המבדילות בין מדינות לסירוגין (אם כי בעיקר בגלל גודלן המולקולרי הלא-ממשי, להיות כפופות למשהו המכוון של מכניקת הקוונטים).
אבל למה רק בסיס 2?
אז אולי אתה חושב, "למה רק 0 ו 1? אתה יכול פשוט להוסיף עוד ספרה? "בעוד חלק זה מגיע למסורת כיצד מחשבים בנויים, להוסיף ספרה אחרת אומר שאנחנו צריכים להבחין בין רמות שונות של הנוכחי, לא רק" off "ו" on , "אבל גם קובע כמו" על קצת "ו" על הרבה ".
הבעיה כאן היא אם אתה רוצה להשתמש במספר רמות מתח, אתה צריך דרך לבצע בקלות חישובים איתם, ואת החומרה עבור זה אינו קיימא כתחליף למחשוב בינארי. היא אכן קיימת; זה נקרא מחשב תלת-שנתי, והוא נמצא בסביבה מאז שנות ה -50, אבל זה פחות או יותר הפיתוח שבו הוא נעצר. ההיגיון השלמתי הוא יעיל הרבה יותר מאשר בינארי, אך עדיין, אף אחד לא יש תחליף יעיל טרנזיסטור בינארי, או לכל הפחות, שום עבודה לא נעשה על פיתוח אותם באותו קשקשים זעירים כמו בינארי.
הסיבה שאנחנו לא יכולים להשתמש ההיגיון משולש מגיע עד טרנזיסטורים הדרך מוערמים במחשב - משהו שנקרא "שערים"-ואיך הם רגילים לבצע מתמטיקה. גייטס נוטלים שני תשומות, מבצעים פעולה עליהם ומחזירים פלט אחד.
זה מביא אותנו לתגובה ארוכה: מתמטיקה בינארית היא דרך קלה יותר עבור המחשב מאשר כל דבר אחר. מפות לוגיות בוליאניות בקלות למערכות בינאריות, כאשר נכון או לא נכון להיות מיוצג על ידי לסירוגין. שערים במחשב שלך פועלים על ההיגיון בוליאני: הם לוקחים שתי כניסות ולבצע מבצע עליהם כמו AND, OR, XOR, וכן הלאה. שני תשומות קל לניהול. אם היית גרף את התשובות עבור כל קלט אפשרי, היה לך מה שמכונה טבלת האמת:
טבלת האמת בינארי הפועל על ההיגיון בוליאני יהיו ארבעה פלטי אפשרי עבור כל פעולה בסיסית. אבל בגלל שערים תלת-ממדיים לוקחים שלושה תשומות, טבלת האמת השלישית תהיה 9 או יותר. בעוד שלמערכת בינארית יש 16 מפעילים אפשריים (2 ^ 2 ^ 2), מערכת שלישית תהיה 19,683 (3 ^ 3 ^ 3). קנה המידה הופך לבעיה כי בעוד ternary הוא יעיל יותר, זה גם אקספוננציאלית יותר מורכב.
מי יודע? בעתיד, נוכל להתחיל לראות מחשבים תלת-ממדיים הופכים להיות דבר, כפי שאנו דוחפים את גבולות הבינארי עד לרמה המולקולרית. לעת עתה, העולם ימשיך לרוץ על בינארי.
זיכרונות תמונה: spainter_vfx / Shutterstock, ויקיפדיה, ויקיפדיה, ויקיפדיה, ויקיפדיה