Троичный сумматор

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

Moderator: haqreu

User avatar
BEPTEP
Doomed
Posts: 374
Joined: 09 Apr 2025 01:49

Re: Троичный сумматор

Post by BEPTEP »

Shaos wrote: 09 Jan 2026 23:40 По линку выше я писал как сделать MIN и MAX на троичных селекторах - можно переписать на полноценные MUX-ы (если на кристалле не будет полуселекторов E12 и E21):

MIN(x,y) = MUX(y,N,E12(x,N,O),x) = MUX(y,N,MUX(x,N,O,O),x)

MAX(x,y) = MUX(y,x,E21(x,O,P),P) = MUX(y,x,MUX(x,O,O,P),P)
В одном слове МУЛЬТИПЛЕКСОР букв больше чем транзисторов в схеме на MIN и MAX вместе взятых. :mrgreen:
Xalva
Writer
Posts: 23
Joined: 17 Apr 2025 03:01

Re: Троичный сумматор

Post by Xalva »

BEPEP wrote: 10 Jan 2026 16:52 В МУЛьтик пока не врублюсь...
Привет, а чего тут не ясно, для умножения!
Как в школе, столбиком, результаты суммируем.
⭕⭕⭕➕➖➖(5) a
⭕⭕⭕➕➖➖(5) b
———————————
⭕⭕⭕➖➕➕ r1 = b[1] * a
⭕⭕➖➕➕⭕ r2 = b[2] * a
⭕➕➖➖⭕⭕ r3 = b[3] * a
———————————
⭕⭕➕⭕➖➕(25) r = r1 + r2 + r3
Тут как раз и сдвиг пригодиться!
User avatar
BEPTEP
Doomed
Posts: 374
Joined: 09 Apr 2025 01:49

Re: Троичный сумматор

Post by BEPTEP »

Xalva wrote: 11 Jan 2026 06:03
BEPEP wrote: 10 Jan 2026 16:52 В МУЛьтик пока не врублюсь...
Привет, а чего тут не ясно, для умножения!
Как в школе, столбиком, результаты суммируем.
⭕⭕⭕➕➖➖(5) a
⭕⭕⭕➕➖➖(5) b
———————————
⭕⭕⭕➖➕➕ r1 = b[1] * a
⭕⭕➖➕➕⭕ r2 = b[2] * a
⭕➕➖➖⭕⭕ r3 = b[3] * a
———————————
⭕⭕➕⭕➖➕(25) r = r1 + r2 + r3
Тут как раз и сдвиг пригодиться!
Привет!
Да уже понял. Но почему то считал что для умножения в столбик достаточной простой инверсии.
Ошибался. :mrgreen:
Xalva
Writer
Posts: 23
Joined: 17 Apr 2025 03:01

Re: Троичный сумматор

Post by Xalva »

BEPEP wrote: 11 Jan 2026 08:22
Xalva wrote: 11 Jan 2026 06:03
BEPEP wrote: 10 Jan 2026 16:52 В МУЛьтик пока не врублюсь...
Привет, а чего тут не ясно, для умножения!
Как в школе, столбиком, результаты суммируем.
⭕⭕⭕➕➖➖(5) a
⭕⭕⭕➕➖➖(5) b
———————————
⭕⭕⭕➖➕➕ r1 = b[1] * a
⭕⭕➖➕➕⭕ r2 = b[2] * a
⭕➕➖➖⭕⭕ r3 = b[3] * a
———————————
⭕⭕➕⭕➖➕(25) r = r1 + r2 + r3
Тут как раз и сдвиг пригодиться!
Привет!
Да уже понял. Но почему то считал что для умножения в столбик достаточной простой инверсии.
Ошибался. :mrgreen:
Почему ошибался?
В принципе да!

Code: Select all

 
function MUL(a, b : tTryte) : tTryte;
  begin revers(b);
             for var i := low(b) to high(b) do
                 if b[i] < 0
                   then result := sum(result, shl(inv(a), i))
                   else if b[i] > 0
                             then result := sum(result, shl(a, i)) end;
User avatar
Shaos
Admin
Posts: 24880
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Троичный сумматор

Post by Shaos »

Ну не только инверсии - сложение ведь надо со сдвигом :roll: