Чи є альтернатива бітам як найменшій одиниці даних? Щось, що не буде лише 0 або 1, але насправді містить багато можливих станів між ними? Хіба не було б природніше зберігати такі поплавці?
Чи є альтернатива бітам як найменшій одиниці даних? Щось, що не буде лише 0 або 1, але насправді містить багато можливих станів між ними? Хіба не було б природніше зберігати такі поплавці?
Відповіді:
Звичайно, це можливо і теоретично, і практично.
Теоретично існує два класи альтернатив: цифрові системи числення з базою, відмінною від 2 (насправді, десяткова система, як ми знаємо, це одна така система); і нецифрові системи числення. Математично кажучи, ми говоримо про дискретні та безперервні домени.
На практиці вивчені обидва варіанти. Деякі з ранніх цифрових комп'ютерів (наприклад, ENIAC) використовували десяткові кодування, а не всюдисущій двійкові кодування; інші бази, наприклад, потрійні, повинні бути настільки ж можливими (або нездійсненними). Езотерична мова програмування Malbolge заснована на теоретичному потрійному комп'ютері; Хоча здебільшого сатиричний, немає жодної технічної причини, чому він не повинен працювати. Зберігання та обробка безперервного домену історично робилося на аналогових комп'ютерах, де ви могли кодувати величини як частоти та / або амплітуди коливальних сигналів, а потім виконували обчислення, застосовуючи до цих сигналів всілякі модуляції. Сьогодні квантові обчислення знову роблять цікавою теорію, що стоїть у камерах безперервного зберігання.
Так чи інакше, біт як найменша теоретична одиниця інформації все ще стоїть, оскільки будь-яка альтернатива може кодувати більше інформації, ніж один так / ні, і ніхто ще не придумав меншу теоретичну одиницю (і я не очікую, що це станеться найближчим часом).
double
Some of the early digital computers employed decimal encodings rather than the now ubiquitous binary encoding
- Насправді десяткові кодування досі застосовуються; це називається BCD . BIOS у більшості комп'ютерів використовує його (для десяткових дат) , а також більшість cheapo-калькуляторів, тому що для цього потрібно менше схеми (тобто дешевше), щоб робити все в BCD, ніж це робити у двійковій формі та мати двійково-десятковий перетворювач.
Ви в основному описуєте аналоговий сигнал, який використовується в датчиках, але рідко для внутрішніх обчислень. Проблема полягає в тому, що шум погіршує якість, вам потрібна дуже точна калібрування опорної точки, яку важко спілкувати, а передача - це проблема, оскільки вона втрачає силу, чим далі їздить.
Якщо ви зацікавлені у вивченні аналогових обчислень, у більшості недооцінених класів "введення в електроніку" ви будуєте такі речі, як оптичні підсилювачі . Їх досить просто побудувати навіть без офіційних інструкцій.
Ви також можете зберігати кілька цифрових станів на одному вузлі. Наприклад, замість нуля 0-2,5 вольта і 2,5-5,0 вольт один, ви можете додати третій стан між ними. Це додає багато складності, але значно збільшує вашу сприйнятливість до шуму.
Вони називаються кубітами і використовуються в квантових комп'ютерах. Ви знайдете більш детальну інформацію про них на вікіпедії записи . Проводяться дослідження, щоб зробити такі комп'ютери стабільними та економічно здійсненими.
Однією з причин, по якій ми використовуємо біти, є те, що вона допомагає нам точно зберігати та отримувати інформацію.
Реальний світ є аналогом, тому вся інформація, яку комп'ютери передають або зберігає, в кінцевому рахунку є аналогом . Наприклад, струм певної напруги на дроті або магнітний заряд певної сили на диску, або яма певної глибини на лазерному диску.
Питання: наскільки точно можна виміряти цю аналогову інформацію ? Уявіть, що струм на дроті можна інтерпретувати як будь-яке десяткове число таким чином:
І т.д. Ця система дозволила б нам передати багато даних за декілька імпульсів струму, правда? Але є проблема: ми повинні бути дуже впевнені, що таке напруга. Якщо температура або магніти, космічні промені чи що-небудь спричиняють коливання, ми можемо прочитати неправильне число. І чим тонко ми маємо намір виміряти, тим більший ризик. Уявіть, якби різниця в 1 мілівольт була суттєвою!
Натомість ми зазвичай використовуємо цифрову інтерпретацію . Все, що перевищує деякий поріг, є істинним, і все під неправдивим. Тож ми можемо задавати питання на кшталт "Чи є взагалі якийсь струм?" замість " Точно скільки струму?"
Кожен окремий шматочок можна виміряти з упевненістю, тому що нам залишається лише "в правильному бальному". І, використовуючи багато бітів, ми все одно можемо отримати багато інформації.
Є також потрійні комп'ютери замість двійкових. http://en.wikipedia.org/wiki/Ternary_computer
Трійчастий комп'ютер (також званий Trinary комп'ютер ) являє собою комп'ютер , який використовує троичной логіки (три можливих значення) замість більш поширеною двійковій логіки (два можливих значення) в своїх розрахунках ...
Ми можемо бути більш природними для нас, але є конкретні причини, чому двійковий був обраний для цифрової схеми і, отже, для мов програмування. Якщо у вас є два стани, вам потрібно розрізняти лише два вольт-налаштування, наприклад 0V і 5V. При кожному додатковому збільшенні до радіусу (бази) вам потрібно буде далі розділити цей діапазон, отримуючи при цьому значення, які не відрізняються одна від одної. Ви можете збільшити діапазон напруги, але в цьому є негарна звичка плавити схеми.
Якщо ви хочете змінити тип апаратури з цифрової схеми, ваші параметри є більш різноманітними. Десяткові знаки, що застосовувалися в механічних комп'ютерах, оскільки передачі мають набагато більшу термостійкість і значно виразніше, ніж заряди електронів. Квантові комп'ютери, як зазначено в іншому місці, мають інші способи поводження з речами. Оптичні комп'ютери також можуть робити те, чим ми раніше не займалися, і магнітні комп’ютери також є можливими.
Я думаю, ви могли б зараз створити елементи, які можуть містити будь-яку кількість станів або навіть працювати з аналоговими даними. Хоча побудова цілої системи та запуск усіх логічних компонентів для отримання повнофункціональної та програмованої архітектури буде багато роботи та фінансового ризику для будь-якої компанії взяти на себе це завдання.
Я думаю, що ENIAC була останньою архітектурою, яка використовувала десятипозиційні кільцеві лічильники для зберігання цифр. Хоча я можу помилитися з цього приводу і не впевнений, наскільки це вплинуло на інші частини машини.
Зберігання можна розглядати як передачу в майбутнє, всі проблеми передачі з постійними (аналоговими) носіями будуть застосовані.
Зберігання цих станів може бути тривіальним (триходовий перемикач або якась сітка), а фізичне зберігання цих станів - це одне питання, яке охоплює багато відповідей, набагато краще, ніж я міг.
Моє головне питання полягає в тому, як закодований цей збережений стан, і здається, що існує велика ймовірність того, що це завдання є дурним дорученням, оскільки бітів достатньо для представлення практичних безперервних даних, залежно від необхідної точності, продовжуйте додавати більше бітів.
Дійсно безперервні дані таким чином неможливо зберігати, але рівняння для їх обчислення, наприклад
1/3
може зберігатися.
Підказкою і натяк більш дрібні шматки інформації , ніж трохи. Для встановлення певного значення біта зазвичай потрібно декілька підказок. Інклінг гірший: скільки б ви не додавали, ви все одно не можете знати значення отриманого біта напевно.
Більш серйозно, є багатозначна логіка, в якій фундаментальна одиниця може мати одне з n станів, де n> 2. Ви могли б вважати, що ці одиниці містять менше інформації, ніж біт у сенсі попереднього абзацу, але з теорії інформації з точки зору, ви повинні сказати, що вони несуть більше. Наприклад, вам знадобляться два біти, щоб представити однаковий обсяг інформації, який може містити одне значення в чотиризначній логіці.
Оптимальною числовою базою є e , але оскільки найпростіший спосіб подання числа в цифровому електронному є двома станами (висока напруга = 1, низька напруга = 0), було обрано двійкове подання чисел.
e
не згадуючи про нат ? За сором.
Існує менша можлива одиниця даних. Я не знаю офіційної назви для цього, давайте назвемо його ун.
Біт - це розумне комбо-слово для "Бінарний цифровий код", тобто він має два можливі стани. Отже, повинна бути якась цифра, що має лише один можливий стан.
Подивимось, що це означає. Це означає, що у вас буде лише нулі, з якими можна працювати.
Як би ви порахували? У будь-якій системі x-base ви збільшуєте значення, поки не закінчите цифри, а потім додасте цифру, щоб утворити число. Якщо у вас є лише одна цифра, у вас відразу закінчиться цифр, щоб:
Нуль = 0 Один = 00 Два = 000 і так далі
Це, безумовно, природніше: більше - більше! Він ідеально відображає будь-яку дискретну кількість речей. Скільки картоплі? 00000 Це чотири картоплі. Почекайте хвилинку ... це не за одним. Якщо вам це не подобається, ви можете перезначити значення 0 до одиниці. Тоді це дійсно природно: нулів немає, один нуль - один, два нулі - це два, і так далі.
Для твердотільної машини це недоцільно. Цифри повинні бути фізично розміщені та вилучені, і він не масштабується добре.
Я не можу знайти остаточну англійську посилання, але, наскільки я пам’ятаю з класу « Теорія інформації», біт - це основна одиниця інформації. Трохи інформації - це інформація, яку ви отримуєте після підкидання справедливої монети (50% ймовірності для кожної сторони). Все інше можна звести до цього.
Навіть якщо ви використовуєте пристрій, який має кілька станів, його завжди можна зменшити до бітів.