nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 28 Mar 2024 21:47



Reply to topic  [ 6 posts ] 
"Скрещивание" двоичного и троичного подхода. 
Author Message
Novelist

Joined: 21 Jan 2019 03:36
Posts: 39
Reply with quote
Надысь нарвался в интернете на статью "Домашка по арифметике" - https://habr.com/ru/post/485786/
и хочу предложить её вниманию интересующихся троичной темой. Комментариев статья не требует, там всё довольно понятно написано. Единственное, что мне хотелось-бы заметить, так это то, что замены множителей навроде 31 на (32-1), с целью уменьшить количество единиц в записи, больше походят не столько на троичную, а на двоичную Фибоначчиеву систему записи чисел. Но это моё личное мнение, а статью рекомендую прочесть.


30 Jan 2020 02:35
Profile ICQ
Doomed
User avatar

Joined: 27 Jul 2018 12:07
Posts: 608
Reply with quote
Здравствуйте, прочитал, хочу что сказать в счет "скрещивания" - Вы уже подымали этот вопрос в N-проводной троичке.
Так вот на что хочу обратить внимание - в определении системы участвует два понятия: 1- это базис системы и 2- используемый алфавит. В статье показано, что автор использует двоичный базис и троичный алфавит (-1, 0, 1) вместо двоичного алфавита (0, 1) и получает определенный вычислительный эффект... но область определяемых чисел сокращается в 2 раза. И тут возникает вопрос к описываемой идеи, как автор может реализовать троичный алфавит физически в железе (физические уровни сигнала). У меня лично впечетление приделывания реактивного двигателя к телеге (истребитель? Или транспорт для очистки от льда взлетной полосы?)


30 Jan 2020 07:37
Profile
Novelist

Joined: 21 Jan 2019 03:36
Posts: 39
Reply with quote
Ну, трудно сказать, что эти два вида "скрещивания" суть одно и то же. Если в "N-проводной троичке" использование N передающих информацию элементов, с двумя или тремя состояниями каждый, шло как основа для передачи троичного сигнала, то в статье Евгения Игоревича применялась именно двоичная, и только двоичная арифметика, а троичный подход применялся к не к системе счисления, а к арифметическим действиям.
То есть (для выполнения умножения двоичных чисел) вместо двоичного набора операций "сдвиг"+"сложение" используется троичный (расширеный) набор: "сдвиг"+"сложение"+"вычитание", и это позволяет уменьшить суммарное количество таких операций довольно сильно. Если посмотреть комментарии к той публикации, то можно найти следующий https://habr.com/ru/post/485786/#comment_21199546, вкратце: "число операций для умножения n-разрядных чисел не превышает n/2+1", а если ограничиться только двумя операциями, то количество сложений (сдвиги в HDL-языках практически бесплатны) может оказаться и равным количеству битов n в записи множителя. Очевидно, что выгода от замены "не более n" операций на "не более n/2+1" растёт пропорционально n - числу разрядов множителя.
У меня впечатления "приделывания реактивного двигателя к телеге" не возникло, наоборот, повосхищался красивым техническим решением и грамотным инженерным подходом. Даже крепкое желание пообщаться с автором за чашкой чая возникло, и заманить его в нашу банду троичников, думаю, было-бы не лишним.


30 Jan 2020 23:17
Profile ICQ
Doomed
User avatar

Joined: 27 Jul 2018 12:07
Posts: 608
Reply with quote
Я вот на что хотел обратить внимание - что при использовании троичного базиса: 3^0, 3^1, 3^2 ... 3^n и алфавита (-1, 0, 1) десятичная двойка будет представлена как 1(-1) = 1*3^1 + (-1)*3^0 = 3 - 1 = 2. А вот при двоичном базисе с троичным алфавитом (-1, 0, 1) как будет представлена двойка десятичной системы. Если за правилами троичной сбалансированной системы то так же 1(-1) = 1*2^1 + (-1)*2^0 = 2 - 1 = 1. Тогда как представить единицу десятичной системы? "Скрещивание" не получается как-то?


31 Jan 2020 08:55
Profile
Novelist

Joined: 21 Jan 2019 03:36
Posts: 39
Reply with quote
Я не очень понимаю, чем двойка или единица десятичной системы отличаются от двойки или единицы двоичной или троичной систем. Буду полагать, что вы имели в виду не числовые величины, а запись соответствующих чисел в той или иной системе счисления. Если ошибся в догадках - прошу прощения.
Тогда десятичная запись двойки будет "2", двоичная запись двойки будет "10", а троичная (симметричная) запись двойки будет "+-".
Первая запись расшифровывается как (10^0)*2=1*2=2,
вторая - как (2^1)*1+(2^0)*0=2*1+1*0=2+0=2,
третья - как (3^1)*(+1)+(3^0)*(-1)=3*(+1)+1*(-1)=3-1=2.
Как будут записываться и как расшифровываться числовые величины в упомянутом вами "двоичном базисе с троичным алфавитом" - сказать не могу, мне такой тип записи_чисел неведом. Благодаря исходной статье я познакомился с записью_выражений, которая действительно строится на "двоичном базисе с троичным алфавитом", но это запись выражений, а не чисел.
Если же приглядеться к исходной статье, на которую я пытался обратить внимание читателей форума, то там используются _только_ десятичный и двоичный базисы. Строки записей, содержащих цифры троичного диапазона "+", "0", "-" это не запись чисел, а запись выражений, соответствующих числам - таких выражений, которые позволяют выполнить операцию умножения меньшим числом базовых операций, только за счёт того, что в троичной записи_выражения меньше ненулевых троичных цифр, чем в двоичной записи_числа. Обе записи, и троичная запись выражения и двоичная запись числа используют двоичный и только двоичный базис.
P.S. Благодаря тому, что такая запись выражений имеет количество цифр больше, чем базис системы счисления, вынужденно возникает многовариантность записи некоторых чисел. Эта многовариантность и напомнила мне подход к записи чисел в Фибоначчиевых системах записи.


03 Feb 2020 01:36
Profile ICQ
Doomed
User avatar

Joined: 27 Jul 2018 12:07
Posts: 608
Reply with quote
kvas wrote:
Я не очень понимаю, чем двойка или единица десятичной системы отличаются от двойки или единицы двоичной или троичной систем. Буду полагать, что вы имели в виду не числовые величины, а запись соответствующих чисел в той или иной системе счисления. Если ошибся в догадках - прошу прощения.
Тогда десятичная запись двойки будет "2", двоичная запись двойки будет "10", а троичная (симметричная) запись двойки будет "+-".
Первая запись расшифровывается как (10^0)*2=1*2=2,
вторая - как (2^1)*1+(2^0)*0=2*1+1*0=2+0=2,
третья - как (3^1)*(+1)+(3^0)*(-1)=3*(+1)+1*(-1)=3-1=2.
Как будут записываться и как расшифровываться числовые величины в упомянутом вами "двоичном базисе с троичным алфавитом" - сказать не могу, мне такой тип записи_чисел неведом. Благодаря исходной статье я познакомился с записью_выражений, которая действительно строится на "двоичном базисе с троичным алфавитом", но это запись выражений, а не чисел.
Если же приглядеться к исходной статье, на которую я пытался обратить внимание читателей форума, то там используются _только_ десятичный и двоичный базисы. Строки записей, содержащих цифры троичного диапазона "+", "0", "-" это не запись чисел, а запись выражений, соответствующих числам - таких выражений, которые позволяют выполнить операцию умножения меньшим числом базовых операций, только за счёт того, что в троичной записи_выражения меньше ненулевых троичных цифр, чем в двоичной записи_числа. Обе записи, и троичная запись выражения и двоичная запись числа используют двоичный и только двоичный базис.
P.S. Благодаря тому, что такая запись выражений имеет количество цифр больше, чем базис системы счисления, вынужденно возникает многовариантность записи некоторых чисел. Эта многовариантность и напомнила мне подход к записи чисел в Фибоначчиевых системах записи.


А выражения у Вас получается состоят не из чисел? А такой себе магической субстанции "+", 0, "-"? Да, здесь чайок не поможет - пиво брать нужно... К базисам в статье я пригляделся и к названию Вашего топика. Если бы Вы назвали
не "скрещивание" а например: экономия вычислительного процесса при использовании двоичной избыточной системы счисления...


03 Feb 2020 08:47
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 6 posts ] 

Who is online

Users browsing this forum: No registered users and 10 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.