[Powered by Google Translate] תאט HARDISON: בוידאו בינארי, אנו מראים כיצד מייצג קבוצה של מספרים שלמים, מאפס ומעלה, משתמש רק את הספרות אפס ואחד. בסרטון הזה, אנחנו הולכים להשתמש לסימון בינארי לייצג טקסט, אותיות וכזה, גם כן. למה אנחנו לא נטרח לעשות את זה? ובכן, מתחת למכסת המנוע, מחשב רק באמת מבין אפסים ואחדים, ספרות הבינאריות, שכן אלה יכול להיות מיוצג בקלות עם דברים אלקטרומגנטיים. לדוגמה, לחשוב על זכרון המחשב שלך כמו עוד מחרוזת של נורות, כאשר כל נורה בודדה מייצג אפס אם הוא כבוי, ו1 אם הוא מופעל. במקום להשתמש בחבורה של נורות, החלק מודרני זיכרון אין זה באמצעות קבלים שמחזיקים נמוך בשביל לייצג את אפס ותשלום גבוה לייצג אחד. קיימות טכניקות אחרות גם כן. בכל אופן, כדי לאחסן כל דבר בזיכרון, אנחנו צריכים להמירו תחילה למשהו שיכול להיות למעשה מיוצג בחומרה הפיסית. אז בואו נחשוב על איך אנחנו יכולים לייצג אותיות עם סימון בינארי. באנגלית, יש לנו 26 אותיות באלפבית, A, ב ', ג', ד', וכן הלאה, דרך ז'אנחנו יכולים להקצות לכל אחד אלה מספרים, אומר אפס עד 25, ולאחר מכן באמצעות סימון בינארי, אנו יכולים לייצג כל מספר רצף של אפסים ואחדים. זה לא רע. עם זאת, זה לא יהיה מספיק. עם מערכת זו, אנחנו לא יכולים להבחין בין אותיות גדולות וקטנות. אם אנו רוצים שהמחשב שלנו כדי להיות מסוגל להבחין בין שני המקרים, דרושים לנו 26 מספרים נוספים. ומה לגבי תקופות, פסיקים ו סימני פיסוק אחרים? על המקלדת שלי, יש לי 32 מתוך אלה, הכוללים את כל תווים מיוחדים כמו קארה והאמפרסנד. זה לא כולל את התווים הספרתיים, אפס עד תשע, מאז אנחנו עדיין רוצים להיות מסוגלים להקליד מספרים עשרוניים סימון במחשב, גם אם המחשב רק באמת מבין סימון בינארי מתחת למכסת המנוע. ולבסוף, אנחנו צריכים לייצג את אופי מקום כל כך שבר החלל שלנו עובד. אז להבין איך לייצג טקסט במחשב לוקח קצת יותר ממה שאנו עשויים לחשוב בתחילה. בנוסף, נניח שאנחנו אז לבוא עם הקידוד שלנו ערכה לייצג דמויות כמספרים. עם זאת אנו מחליטים לקודד תווים יהיו בהכרח שרירותי, כפי שראינו קודם לכן, כשדברנו על שימוש מספרי אפס עד 25 כדי לייצג את האותיות דרך ז'למה לא להשתמש 10 עד 35, כך שנוכל לחסוך אפס עד תשע עבור התווים הספרתיים? אין שום סיבה אמיתית, אנחנו פשוט בחרנו מה שנראים הטוב ביותר עבורנו. חזרה בשנתי ה -1960 המוקדמות, זו הייתה בעיה אמיתית. יצרני מחשבים שונים היו באמצעות תוכניות שונות קידוד ותקשורת עשתה את זה בין מכונות שונות משימה קשה מאוד. מכון ההתקנים האמריקאי, ANSI, הקים ועדה לפיתוח תכנית משותפת. ובשנת 1963, קוד התקן האמריקאי למידע המחלף, ידוע יותר בכינוי ASCII, נולד. ASCII תוכנן כקידוד 7 סיבי, ה משמעות דבר הוא כי כל תו מיוצג על ידי שילוב של שבעה אפסים ואחדים. עם שני ערכים האפשריים האלה, אפס או אחד, לכל מהשבעה הסיביים, יש שניים ל7 או 128 תווים שניתן לייצג באמצעות ASCII קידוד ערכה. כן 128 תווים נשמעים הרבה, נכון? ובכן, יש לזכור שיש 26 אותיות קטנות ב אנגלית, 26 אותיות רישיות, עוד 10 תווים ספרתיים, 32 סימנים פיסוק ותווים מיוחדים, ותו רווח אחד. זה מעמיד אותנו ב 95, כך שיש לנו עוד 33 דמויות שאנחנו יכול לייצג. אז מה נשאר? ובכן, בימיו של הפיתוח של ASCII, טלפרינטר מכונות, שהן מכונית כתיבה המשמשות ל שליחת הודעות ברשת, היו נפוצים. והמכונות האלה היו דמויות נוספות המשמשות ל לשלוט בם, למשל, תגיד להם מתי לעבור להדפיס את הראש כלפי מטה קו, הזנת השורה או מפתח קו החדש, מתי לעבור לשולים השמאליים, חזרת הגררה, או פשוט להחזיר מפתחות, ומתי לחזור חלל אחד, אופי backspace, וכן הלאה. תווים אלה נקראים תווי בקרה, והם מהווה את שאר סט ASCII. אז אם אנחנו מסתכלים על טבלת ASCII, אנו רואים כי הראשונים 32 מספרים, אפס עד 31, שמורים לשליטה תווים. אבל אנחנו פשוט אמרנו שיש 33 תווי בקרה. מה קטע? ובכן, אפס והמספר 127, ראשון ואחרון של סט ASCII, יש דפוסים סיביים מיוחדים, כל האפסים וכל אלה, בהתאמה. המעצבים של ASCII החליטו, אפוא, לשמר את המספרים האלה לתווים מיוחדים נוספים, כלומר אופי הבטל ואופי DEL. ריק וDEL נועדו לעריכת סרט נייר, ששמשה להיות דרך מקובלת של אחסון נתונים. קלטת נייר הייתה ממש פשוט רצועה ארוכה של נייר, ובי מרווחי זמן קבועים על הקלטת, היית אגרוף חורים לאחסון נתונים. בהתאם לרוחבה של הקלטת, כל עמודה תהיה מסוגל להכיל חמישה, שישה, שבע, או שמונה ביטים. לייצג קצת אפס, היית לעשות דבר כדי הקלטת, היית פשוט להשאיר את מקום ריק. למעט אחד, שהיית אגרוף חור. תו null רק אצא מעמודה ריקה, המציין את כל האפסים. ואופי ד.א. היה חובט טור מלא חורים באמצעות הקלטת שלך. כתוצאה מכך, אתה יכול להשתמש בתו DEL כדי למחוק מידע. תאר לעצמכם לקחת פתק בחירות ממולאות החוצה ואז חבטות כל חורי unpunched. אתה פוסל את ההצבעה כי זה בלתי אפשרי תגיד מה את הקולות המקוריים היו. בעוד דמות DEL עדיין משמשת הוא המודרני מקש Delete, תו null בא כדי לשמש אופי סיום למייתרי C ו כמה פורמטי נתונים אחרים. אתה אולי יודע אותו כדמות אפס הקו הנטוי, היות שזה מה שאנחנו מייצגים את זה בכתב. אז חזרה לטבלת ASCII שלנו. לאחר 32 תווי הבקרה 1 מגיעים 95 תווים להדפסה. ישנם כמה החלטות עיצוב מגניבות שווים מדבר עליו כאן. ראשית, דמויות הספרה העשרוניות, אפס עד תשע, מתאים למספרים 48 עד 57, אשר נראה חסר ייחוד עד שאנחנו מסתכלים על המספרים 48 עד 57 נכתב בסימון בינארי. אם אנחנו עושים את זה, אז אנחנו רואים שתוספרה, אפס, מתאים ל0110000, 1 מפות ל0110001, שתיים 0110010, וכן הלאה. ראה את הדפוס? כל תו הספרתי הממופה למקביל שווה ערך בסימון בינארי, התחילית 011. הבא למעלה, אתה שם לב שהאותיות רישיות להתחיל בגיל 65, עם אותיות גדולות, אבל את האותיות הקטנות אל תתחילו עד 97. אז יש 32 חללים שביניהם. זה נראה מוזר. הם רק 26 אותיות באלף בית. למה לפצל אותם ככה? שוב, אם אנחנו מסתכלים על הייצוגים בינאריים, אנחנו יכולים לראות דפוס. אותיות גדולות מיוצג על ידי 1000001, ואותיות קטנות היא מיוצג על ידי 1100001. האותיות הגדולה B מיוצג על ידי 1000010, ואותיות קטנות היא ב מיוצג על ידי 1100010. האם אתה יכול לספר מה קורה כאן? קצת זה שני מהשמאל, בשניים חמישיים, לעמדת 32ths, הוא 0 לכל האותיות רישיות מכתבים, ו 1 לכל אותיות הקטנות. כלומר, המרה מאותיות רישיות לאותיות קטנות, ו להיפך, הוא עניין של להעיף קצת פשוט. אז זה מביא אותנו לסוף טבלת ASCII. האם אתה יכול לחשוב על שום דבר ואנחנו שכחנו? ובכן, מה לגבי enye ספרדית, או אלפבית יוונית או קיריליות? ומה דעתך על דמויות הסיניות? יש הרבה שנשאר יותר מASCII. עם זאת, עוד בשם יוניקוד הסטנדרטי כבר פתח על מנת לכסות את כל אלה תווים ועוד רבים. אבל זה נושא לשיחה אחרת. השם שלי הוא נייט Hardison. זה CS50.