Чуть ли не первый пост у меня в ЖЖ был
про уравновешенную троичную систему счисления. Затем разрабатывал уравновешенное троичное быстрое преобразование Фурье (
раз,
два,
три,
четыре,
пять,
шесть,
семь), давненько им не занимался, к сожалению
(
Read more... )
Comments 65
Предположу, что троичная арифметика совершенно не означает необходимости в некоей троичной логике, а держать рядом двоичную логику и троичную арифметику -- это совсем зоопарк получается. (Про существование всяких пятизначных логик я знаю, но это всё-таки нахлобучки над обычной двоичной, причём очень узкоспециальные. Про нечёткие логики знаю тоже, но там трёх значений откровенно мало, там в полные два байта уложиться бы без грубых глюков).
Reply
Reply
У меня вопрос с другой стороны. Вот эти базовые элементы, они ж не просто так какие-то входы превращают в какие-то выходы, это часть, например, ALU. И если для предназначения A-рифметической части этого ALU, по большому счёту, неважно, в какой системе счисления выполнятся арифметические операции, если при этом разрядность не переполнится и если ошибки округления плавающей точки "понравятся Дональду Кнуту", то у L-огической части есть вполне конкретные "двоичные" применения. Программа должна выполнить тело if-а, или не должна? Табулятор должен прибавлять значение пятой колонки перфокарты к сумматору, или нет? И т.д. и т.п.
Reply
Все ж таки не корректно нечетный класс логик представлять нахлабучками четной двоичной. Хотя бы по причине явного позиционирования нуля и разделения отрицания и инверсии
Reply
Троичная логика очень "логична", ибо к состояниям "да" и "нет" добавляется состояние "неизвестно" :).
В троичной логике уже найдены базисные функции (с помощью современных компютеров их поиск путем перебора посильная задача - смотрите Яблонского). Почему не используется - видимо двоичная логика пока прекрасно справляется и дело в привычке. И я не могу сходу придумать задачи, где использование троичной было сильно эффективнее двоичной.
Reply
Reply
> Троичная логика очень "логична", ибо к состояниям "да" и "нет" добавляется состояние "неизвестно" :).
Увы, как только начинаются задачи чуть сложней сортировки пузырьком, так возникают задачи оптимизации выполнения кода, и для разбора поведения функции, умеющей возвращать true, false и null, требуется хотя бы 5-значная "истина": true, false, null, not null, any, или лучше 7-значная: true, false, null, not true, not false, not null, any. Хоть битами хоть тритами "натурально" это не выражается.
Reply
Reply
Лет полста назад я придумал башенные системы счисления. Они дают уже весьма ощутимую экономию. Но!
Публикацию в открытой печати в 1970-х годах мне запретили. В акте экспертизы прямо написали, что идея будет украдена, из-за чего стратегический паритет рискует нарушиться в пользу врагов СССР. А потом СССР рухнул, акты экспертизы отменили и я сделал серию открытых публикаций. Но красть идею никто не захотел.
Потому что рынок! На протяжении нескольких десятилетий ключевые показатели (быстродействие и объём памяти) росли примерно в 4 раза ежегодно (т.е. в 1000 раз за 5 лет). Тогда как моё открытие давало в лучшем случае выигрыш вдвое, причём только один раз. Ради этого не было смысла вступать в соревнование с Интел+Майкрософт. И кто даст инвестиции на заведомо провальную затею?
Reply
( ... )
Reply
В естественных науках они не нужны. Для "аптечной" точности достаточно микрокалькулятора. В химии число Авогадро - 23 десятичных разряда. В физике максимум до 82.
Но в теоретической информатике (которая пока ещё не создана) без таких чисел не обойтись. Например, чтобы записать в двоичной системе счисления число возможных состояний компьютера, не хватит всей памяти этого компьютера. А в башенной - короткая строка.
Reply
потому что логика в подавляющем числе случаев бинарна, а для редких случаев неизвестно гораздо проще использовать второй бит для высвечивания известно ли.
Reply
Reply
в жизни практически все бинарно. Начиная с того есть ли в холодильнике молоко - оно либо есть, либо нет.
Reply
Есть ли молоко или нет, это не операция, а декларация состояния, бишь абстракция. Молоко вы ставите в холодильник, забираете его или не подходите к холодильнику. Типичная ошибка в рассуждениях у вас.
Reply
Leave a comment