Троичный дешифратор

Уравновешенная троичная система счисления - форум переехал с http://ternary.info

Moderator: haqreu

kvas
Novelist
Posts: 39
Joined: 21 Jan 2019 03:36

Re: Троичный дешифратор

Post by kvas »

Lavr wrote:P.S. И есть же еще устойчивое словосочетание: :o
В русских сказках часто упоминается «тридевятое царство». Переносное значение — очень далёкое.
Прочитав про тридевятое царство я вспомнил и про тридесятое государство, а так-же вспомнил одну (случайно?) встретившуюся гипотезу, что "за три*девять...три*десять Земель" находится Луна. Точнее, на расстоянии от 3*9 до 3*10 диаметров Земли располагается лунная орбита.

Если проверять, то:
D(планета Земля)=12742 (км)
R(орбита Луны)=385000 (км) - взято среднее расстояние до Земли, а не среднее большой и малой полуосей орбиты,
Отношение 385000/12742=30,215 т.е. грубый подсчёт верен.

Попробуем ещё точнее, для обиты Луны:
расстояние в перигее ~362600 км (356400-370400 км)
расстояние в апогее ~405400 км (404000-406700 км)
возьмём минимум перигея, отношение будет 356400/12742=27,97
и максимум перигея, отношение будет 406700/12742=31,918

Хотя, в те времена, когда (предположительно) жили герои древнеславянского эпоса (ну помните наверное, ещё как раз незадолго до вторжения рептилоидов с Нибиру, которых наша нечисть, в тяжёлых, эктоплазмопролитных боях, с позором выгнала с Земли), параметры орбиты Луны были чуток другие, ведь Луна постепенно замедляется и отдаляется от Земли, а период её вращения увеличивается. Значит раньше Луна действительно в какой-то период находилась "за тридевять Земель", или на расстоянии от 27 до 30 диаметров Земли.
Тут подумалось мне, однако, а может это Нибируйцы, чтобы без нашей родной нечисти мы стали перед их вторжением беззащитны, нарочно от Земли Луну отодвигают, а? Вторую попытку вторжения готовят, ящеры хвостатые?! Готовиться нужно к агрессии! Пойду у дежурного врача галоперидолу попрошу...
ProMiNick
Novelist
Posts: 25
Joined: 16 Jun 2018 14:35

Re: Троичный дешифратор

Post by ProMiNick »

Какая девятиричная система? Тройка же в базе. значит следующая группа после 1 разряда - 3 разряда - 27-ричная система.
У круглых чисел в троичной системе число разрядов должно быть кратно 3м, а не 2м как в двоичной.

для кодирования числа можно использовать 0 и весь английский алфавит: (ABCDEFGHIJKLM) - (1..13), (NOPQRSTUVWXYZ) - (-13..-1), 0 - и в африке 0

для 27-ричных чисел использовать префиксную запись с удвоенным префиксом от 16-ричного варианта: $$HELLO или 0xxHELLO что равно 4359003.
постфиксную запись использовать для тернарных чисел 10I01t - 0 это $30(т.е. 0 это например символ у которого в младшем нибле все 0), а 1 это $31 (число у которого в младшем нибле только 0й бит установлен), под -1 соответственно любой другой символ (лучше со сброшенным нулевым битом, но ненулевыми какими-нибудь другими битами).

Другими символами нечего разбазариваться под префиксы и постфиксы - их(символов) и так еле хватает на двоичную арифметику и логику.
Конечно, имеется в виду только ограничение двоичного текстового файла, в котором каждый символ 256 букв и знаков.
Если исходный текст программы писать в троичном тексте - каждый символ будет 729 букв и знаков, и тут уж можно префиксов и постфиксов наплодить, и даже пару десятков языков - без всякого уникода.
ProMiNick
Novelist
Posts: 25
Joined: 16 Jun 2018 14:35

Re: Троичный дешифратор

Post by ProMiNick »

С 9ричной системой кодирования я уже наигрался. Выхлопа по сравнению с 3ичной никакого, таблица умножения перестает быть интуитивной - а плюсов нет - экономии разрядов нет (по сравнению с той же 10чной, а ведь в 10чной и арифметика и уможение так же интуитивны как в 2чной и 3чной, оно просто вбито в мозг молотком цивилизации). Так еще числа (по размеру регистров троичных систем) дробным числом 9ричных разрядов кодируются.

хорошие редакторы кода (вернее хорошие шрифты) - и ноль с О никогда не перепутаете. Вы же не будете код на ТаймсНьюРомане писать...

Буквы удобнее цифр - у вас и у меня в мозгу десятичная таблица умножения - и представление чисел арабскими цифрами прочно с ней завязано.
Новая таблица умножения в 7,29 раз больше привычной нам - но и ее можно зазубрить, буквы вместо цифр как раз чтоб не было путаницы.

С шестнадцатеричными числами людям далеким от компьютеров тоже не удобно работать. Но мы то привыкли. А к 27ричным просто еще не пробовали привыкнуть.
Кстати русскому люду не привыкать цифры буквами писать: число зело больше числа добро, это буквы З и Д, а каким числам равны можете поискать самостоятельно (смысл сравнения - путь зла или силы всегда легче чем путь добра).
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Троичный дешифратор

Post by Lavr »

AlexanderZh wrote:И как прикажете отличать визуально 0 от О?
Вобще-то раньше с этой целью в компьютерных распечатках 0 перечеркивали.
licenz-nz-specmn.png
А "хорошие редакторы" - это сказка ниочем. :-?
Все, кто имел опыт набора программ с распечаток в журналах, знают, что некоторые символы
весьма легко спутать, к примеру 8 и В и т.п.

Так что 231Н и 231N легко спутать однозначно, особенно, если мысль занята логикой
программы, а не вычитыванием таблиц при наборе кода.
You do not have the required permissions to view the files attached to this post.
iLavr
User avatar
Shaos
Admin
Posts: 24083
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Троичный дешифратор

Post by Shaos »

Lavr wrote: А Википедия пишет:
Двухбитные двоичнокодированые троичные цифры (2-Bit Binary Coded Ternary, 2B BCT representation, «двухпроводное») с использованием всех 4-х кодов из 4-х возможных (два из 4-х кодов кодируют одну и туже троичную цифру из 3-х).
Вот одна из них:
(0,0) — «0»
(1,1) — «0»
(0,1) — «–1»
(1,0) — «+1»
Это не википедия пишет, а небезысвестный товарищ Куликов отсебятину...
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Троичный дешифратор

Post by Lavr »

Shaos wrote:Это не википедия пишет, а небезысвестный товарищ Куликов отсебятину...
А это практически одно и то же... :lol: Там все пишут отсебятину. :wink:
Когда мне не понравилась совсем уж дикая отсебятина про Т3-29 в Википедии,
я сам там зарегистрировался автором и тоже написал отсебятины, опираясь на
статью в МПСС и личный опыт. Такая уж это "отсебятинная" Педия...

Другое дело, что устоявшиеся вещи можно легко проверить, а то, что не вошло
в канон - проверить и исправить трудно.

Я сам, кстати, использовал кодировку в 2-Bit Binary Coded Ternary (2B BCT) не так,
как в Википедии, а вот так:
(0,0) — «0»
(0,1) — «+1»
(1,0) — «–1»
Кстати, такая кодировка в Википедии тоже где-то упоминается для интерпретации
троичного значения, как целого без знака.
(0,0) — «0»
(0,1) — «1»
(1,0) — «2»
Но я исходил как раз, что это может облегчить построение дешифратора, действительно:
00 = «0»
01 = «1»
10 = «2»
То есть практически как в двоичной системе.
Однако, сильно это не помогает, хотя коллега JeNNeR пишет, что получил приличные результаты для дешифратора на ПЗУ именно с такой кодировкой BCT.
iLavr
User avatar
JeNNeR
Fanat
Posts: 52
Joined: 18 Nov 2014 09:17
Location: Отсюда

Re: Троичный дешифратор

Post by JeNNeR »

Lavr wrote:
Я сам, кстати, использовал кодировку в 2-Bit Binary Coded Ternary (2B BCT) не так,
как в Википедии, а вот так:
(0,0) — «0»
(0,1) — «+1»
(1,0) — «–1»

... (ылшззув)

Но я исходил как раз, что это может облегчить построение дешифратора, действительно:
00 = «0»
01 = «1»
10 = «2»
То есть практически как в двоичной системе.
Однако, сильно это не помогает, хотя коллега JeNNeR пишет, что получил приличные результаты для дешифратора на ПЗУ именно с такой кодировкой BCT.
Дело в том, что я как раз получил результаты НЕ с этой кодировкой )))
моя кодировка это "00" = нет сигнала/пропуск, "01" = +1, "10" = -1, "11" = 0.
как я думал по логике:
есть две шины, отрицательная и положительная. (плюс возврат по земле, общий для всех).
единица на отрицательной даёт -1 в сумму.
единица на положительной даёт +1 в сумму.
две единицы на обеих шинах дают в сумме ноль. (ноль - это тоже число, которое тоже подлежит передаче и обработке)
если ни на положительной, ни на отрицательной нет единицы - тогда обрабатывать нечего
(такой себе спец сигнал HALT).

И к тому же, чтобы не приходилось ставить особо навороченную ПЗУ (а то и две) - схитрил, сдвинув диапазон, чтобы значения полученных трит умещались в беззнаковый байт. всё равно это можно считать внутренней кодировкой для памяти, которую снаружи никто не заметит, так как получать значения из памяти будут через распаковщик с обратной таблицей.

Вотъ. :)
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Троичный дешифратор

Post by Lavr »

JeNNeR wrote:
Lavr wrote:
Я сам, кстати, использовал кодировку в 2-Bit Binary Coded Ternary (2B BCT) не так,
как в Википедии, а вот так:
(0,0) — «0»
(0,1) — «+1»
(1,0) — «–1»

... (ылшззув)

Но я исходил как раз, что это может облегчить построение дешифратора, действительно:
00 = «0»
01 = «1»
10 = «2»
То есть практически как в двоичной системе.
Однако, сильно это не помогает, хотя коллега JeNNeR пишет, что получил приличные результаты для дешифратора на ПЗУ именно с такой кодировкой BCT.
Дело в том, что я как раз получил результаты НЕ с этой кодировкой )))
моя кодировка это "00" = нет сигнала/пропуск, "01" = +1, "10" = -1, "11" = 0.
как я думал по логике:
есть две шины, отрицательная и положительная. (плюс возврат по земле, общий для всех).
единица на отрицательной даёт -1 в сумму.
единица на положительной даёт +1 в сумму.
две единицы на обеих шинах дают в сумме ноль. (ноль - это тоже число, которое тоже подлежит передаче и обработке)
если ни на положительной, ни на отрицательной нет единицы - тогда обрабатывать нечего
(такой себе спец сигнал HALT).

И к тому же, чтобы не приходилось ставить особо навороченную ПЗУ (а то и две) - схитрил, сдвинув диапазон, чтобы значения полученных трит умещались в беззнаковый байт. всё равно это можно считать внутренней кодировкой для памяти, которую снаружи никто не заметит, так как получать значения из памяти будут через распаковщик с обратной таблицей.

Вотъ. :)
Да пажалста... Тут полное раздолье... Я тоже умещал в беззнаковый байт, только прицеливался
сделать это без ПЗУ, чисто схемотехнически.
iLavr