Домашня » як » Що таке двійкові, і чому комп'ютери використовують його?

    Що таке двійкові, і чому комп'ютери використовують його?

    Комп'ютери не розуміють ні слова, ні цифри, як це роблять люди. Сучасне програмне забезпечення дозволяє кінцевому користувачеві ігнорувати це, але на найнижчих рівнях комп'ютера все представляється двійковим електричним сигналом, який реєструється в одному з двох станів: увімкнено або вимкнено. Щоб зрозуміти складні дані, комп'ютер повинен кодувати його в двійковій формі.

    Двійкова система - це базова 2 система числення. База 2 означає, що є тільки дві цифри-1 і 0, які відповідають умовам включення і виключення, які може зрозуміти комп'ютер. Ви, напевно, знайомі з базовою десятковою системою. Десяткове число використовує десять цифр, які знаходяться в діапазоні від 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 для представлення додаткових шести цифр.

    Так чому ж комп'ютери використовують двійкові?

    Коротка відповідь: апаратне та закони фізики. Кожен номер у вашому комп'ютері є електричним сигналом, і в перші дні обчислень, електричні сигнали були набагато складніше вимірювати і контролювати дуже точно. Було більше сенсу розрізняти лише “на” державу, представлену негативним зарядом, і “відключеним” державою, представленим позитивним зарядом. Для тих, хто не впевнений у тому, що "вимкнене" представлено позитивним зарядом, це тому, що електрони мають негативний заряд - більше електронів означає більше струму з негативним зарядом.

    Таким чином, перші комп'ютери розміром з кімнати використовували двійкові системи для побудови своїх систем, і навіть якщо вони використовували набагато старше, більш громіздке обладнання, ми дотримувалися тих самих фундаментальних принципів. Сучасні комп'ютери використовують те, що відомо як транзистор для виконання розрахунків з двійковим. Ось схема того, як виглядає польовий транзистор (FET):

    По суті, це тільки дозволяє потоку текти від джерела до стоку, якщо є струм у ворота. Це утворює двійковий перемикач. Виробники можуть побудувати ці транзистори неймовірно малі - аж до 5 нанометрів, або приблизно розміром з двох ниток ДНК. Саме так працюють сучасні процесори, і навіть вони можуть потерпати від проблем, що розрізняють стани включення і виключення (хоча це пояснюється, головним чином, їх нереальними розмірами, що підлягають дивному квантовій механіці).

    Але чому тільки бази 2?

    Отже, ви думаєте, «чому тільки 0 і 1? Чи не могли б ви просто додати ще одну цифру? ”Хоча деякі з них зводяться до традиції в тому, як комп'ютери будуються, щоб додати ще одну цифру, це означатиме, що нам доведеться розрізняти різні рівні поточного, а не просто“ вимкнено ”та“ на ” , ”Але також держав люблять“ на трохи ”та“ на багато. ”

    Проблема тут полягає в тому, що ви хочете використовувати кілька рівнів напруги, вам знадобиться спосіб легко виконувати розрахунки з ними, а апаратне забезпечення для цього не є життєздатним для заміни двійкових обчислень. Це дійсно існує; це називається трикомпонентним комп'ютером, і це було навколо з 1950-х років, але це дуже багато, де розвиток на ньому зупинився. Троїчна логіка є набагато ефективнішою, ніж двійкова, але поки що ніхто не має ефективної заміни для бінарного транзистора, або, принаймні, не було зроблено жодної роботи з їх розробки в тих самих крихітних масштабах, що і двійкові..

    Причина, по якій ми не можемо використовувати тернарну логіку, зводиться до того, як транзистори укладаються в комп'ютер, що називається "воротами"-і як вони використовуються для виконання математики. Гейтс приймає два входи, виконує на них операцію і повертає один вихід.

    Це підводить нас до довгої відповіді: двійкова математика є набагато простішою для комп'ютера, ніж будь-яка інша. Логічна логіка легко відображається в двійкових системах, при цьому значення True і False представлено включенням і виключенням. Гейти на вашому комп'ютері працюють на логічній логіці: вони беруть два входи і виконують на них операції, такі як AND, OR, XOR і так далі. Два входи легко керувати. Якщо ви хочете наносити графік відповідей для кожного можливого введення, ви маєте те, що відомо як таблиця істинності:

    Бінарна таблиця істинності, що працює на логічній логіці, матиме чотири можливих виходу для кожної фундаментальної операції. Але через те, що трійкові ворота беруть три входи, третина таблиця істини буде мати 9 або більше. Хоча в двійковій системі є 16 можливих операторів (2 ^ 2 ^ 2), в трійковій системі буде 19,683 (3 ^ 3 ^ 3). Масштабування стає проблемою, тому що в той час, коли троїчність є більш ефективною, вона також експоненціально складніша.

    Хто знає? У майбутньому ми могли б почати бачити, що трійкові комп'ютери стають річчю, оскільки ми просуваємо межі двійкової системи до молекулярного рівня. Поки що, однак, світ продовжуватиме працювати на двійковій основі.

    Зображення кредити: spainter_vfx / Shutterstock, Вікіпедія, Вікіпедія, Вікіпедія, Вікіпедія