Просмотр полной версии : 32-ричная система счисления
0AH - 10D
0BH - 11D
0CH - 12D
0DH - 13D
0EH - 14D
0FH - 15D
0GW -16D 10H
0HW -17D 11H
0IW -18D 12H
0JW -19D 13H
0KW -20D 14H
0LW -21D 15H
0MW-22D 16H
0NW-23D 17H
0OW-24D 18H
0PW-25D 19H
0QW-26D 1AH
0RW-27D 1BH
0SW-28D 1CH
0TW-29D 1DH
0UW-30D 1EH
0VW-31D 1FH
010W - 32D
0100W -1024D 400H 1 00000 00000B
01000W-32768D 8000H 1 000000 00000 00000B
010000W-1048576D 100000H 1 00000 00000 00000 00000B
"W" на конце признак 32-ричного числа, каждый разряд соответствует 5 битам, 4 разряда 20 битам, 5 нибблам
А какое практическое применение? Цифры 0-9 я знаю с детства, сколько будет буква от A до F, я ещё могу запомнить, тут всего 6 букв. Но 22 буквы, это уже слишком.
TomaTLAB
16.05.2020, 22:12
пятибитные ниблы опять же ни в красную армию... на степени двойки ложатся криво. Это если только разрядность архитектуры кратна пяти...
PDP-водам понравится, они уже привыкши к восьмиричной с трехбитными ниблами :)
Это поможет убрать клэшинг? Если да, то я готов выучить хоть весь алфавит!
NEO SPECTRUMAN
17.05.2020, 02:35
0100W -1024D 400H 1 00000 00000B
01000W-32768D 8000H 1 000000 00000 00000B
010000W-1048576D 100000H 1 00000 00000 00000 00000B
практическое применение?
экономия одного 0 при записи?
практическое применение?
экономия одного 0 при записи?
Оффтоп:
https://www.youtube.com/watch?v=gLmoIy8Du-Q
А какое практическое применение? Цифры 0-9 я знаю с детства, сколько будет буква от A до F, я ещё могу запомнить, тут всего 6 букв. Но 22 буквы, это уже слишком.
При разрядности шины до 20бит выигрыш небольшой, 2 разряда против шестнадцатиричных, интересно, что два разряда соответствуют 1 кбайту 100W в адресном пространстве ровно 1 кбайт. 10-битные данные для частно встречающихся АЦП, ЦАП. Для вычислений пока не могу сформулировать, вроде красиво, что 10 бит 1024, а 20 бит 1Mбайт. Еще вот многие команды символьные типа HALT, STOP можно просто писать 0HALTW, 0STOPW, )0ADDW, 0RUNW, 0GOW и т.п. это 32ричные числа :) Правда на семисегментных индикаторах так просто не отображаются.
- - - Добавлено - - -
PDP-водам понравится, они уже привыкши к восьмиричной с трехбитными нибламии это тоже, если модернизировать PDP-8 и PDP-11 Только вот памяти в чипах нет 1 мегаслова 20 битных данных. Возможно еще интересно для модернизации 4-битных архитектур до 5-битных, 8-битных до 10-битных и 16-битных до 20-битных. Чисто логически из латинского алфавита более 32 "цифр" не получишь. Да ряд 4, 8, 16 это степени двойки 2, 3, 4, у 32 битных степень 5. А вообще да, принцип лезвия Оккама испытываю на своих идеях.
NEO SPECTRUMAN
17.05.2020, 15:32
раз тема не о чем
может кто подскажет алгоритмы
перевода данных(не чисел) из двоичной системы
в троичную ... n-ричную систему счисления и обратно
без таблиц
и без появления избыточности
что есть полезно для всяких накопителей
которые могут хранить не только 0 и 1
перевода данных(не чисел)
Это какие-такие данные не являются числами, но существуют в какой-либо системе счисления?
Данные пронумерованные или закодированные по большому счету не числа, так как для них не существует никакой арифметики. "Троичная система" представлена 2 двоичными битами? Или тритами? Тема о чём. Про триты еще большая абстракция, если речь не о намотанных ферритах( читал-читал на Nedopc форуме, только так и не получили же надежно работающей электронной схемы, аналога намотанного феррита).
Spectramine
17.05.2020, 16:06
перевода данных(не чисел) из двоичной системы
в троичную ... n-ричную систему счисления и обратно
без таблиц
Переводим данные-не числа в данные-числа, их переводим из двоичной в троичную ... n-ричную систему счисления.
- - - Добавлено - - -
Про триты еще большая абстракция
Прям. Три уровня намагниченности, например.
NEO SPECTRUMAN
17.05.2020, 16:32
Переводим данные-не числа в данные-числа,
и полностью теряем выиграш от применения троичных ячеек памяти
ну спасибо :v2_dizzy_facepalm:
- - - Добавлено - - -
Переводим данные-не числа в данные-числа,
про без избыточности я написал русским языком
- - - Добавлено - - -
объясню в картинках
некоторая проблема с троичной системой
000 - 00
001 - 01
010 - 02
011 - 10
100 - 11
101 - 12
110 - 20
111 - 21
22 - не используемая комбинация (избыточность) = неиспользуемая память = меньший объем накопителя
как должно быть
на примере четверичной системы
00 - 0
01 - 1
10 - 2
11 - 3
Переводим данные-не числа в данные-числа, их переводим из двоичной в троичную ... n-ричную систему счисления.
- - - Добавлено - - -
Прям. Три уровня намагниченности, например.
но процессор на ферритах последний раз делали в 60-е! Это габариты и потребление. А если процессор не работает с тритами, то и от накопителей счастья мало. Триты как раз числа, для них арифметика есть.
NEO SPECTRUMAN
17.05.2020, 18:48
хотя именно в троичную систему
целое число битов видимо никогда не впишется
тк число комбинаций никогда не бывает даже четным
не то что кратным степени двойки
1 3
2 9
3 27
4 81
5 243
6 729
7 2187
8 6561
9 19683
10 59049
11 177147
12 531441
13 1594323
14 4782969
то есть двоичный результат будет только с последовательным доступом
для четверичной системы
это же блоки по 2 бита
А если процессор не работает с тритами, то и от накопителей счастья мало.
чота микроконтроллеры на флешках с mlc и tlc про это не знают
хотя как видим
они не осилили систему не кратную степени двойки
и вместо троичной сразу заюзали четверичную систему
хотя например можно было бы писать весь блок\сектор в троичном виде
все равно по байтно не читается
а терять только на последнем числе
- - - Добавлено - - -
конечно если предполагается разделение на блоки
для произвольного доступа
можно считать данные числом
например 2^256 (32 байт) (32 пушо калькуляторы не переваривают большие степени типа 32768 а те что переваривают не имеют логарифма по основанию 3)
и переводить в троичное число 3^162 (20,25 трайт)
и то есть последний 21 трайт будет использоваться только на 25%
- - - Добавлено - - -
но все таки хотелось бы алгоритм
который бы переводил произвольное число двоичных данных в троичные \ n-ричные
Spectramine
17.05.2020, 18:49
Любая цифра и любая комбинация цифр из заданной системы счисления являются числами. Любое число можно выразить в любой другой системе счисления. Избыточность выбранной разрядной сетки зависит только от количества чисел, которые нам нужно в ней представлять для данной задачи.
Что не отменяет удобства определённых систем счисления для определённых задач и определённых физических носителей информации.
NEO SPECTRUMAN
17.05.2020, 18:53
Избыточность выбранной разрядной сетки зависит только от количества чисел, которые нам нужно в ней представлять для данной задачи.
отлично нам нужно представить двоичное число
весом 300MB в троичной системе
чтоб записать его на носитель с троичными ячейками
как это сделать?
я даже не могу рассчитать сколько на это нужно трайтов
тк калькуляторы не осиливают
а сократить расчет я не могу (просто я плохо уметь сокращать)
Spectramine
17.05.2020, 19:02
отлично нам нужно представить двоичное число
весом 300MB в троичной системе
как это сделать?
я даже не могу рассчитать сколько на это нужно трайтов
тк калькуляторы не осиливают
а сократить расчет я не могу
По идее, существуют алгоритмы потокового кодирования ряда цифр из одной системы счисления в другую, причем не только без избыточности, но и с сжатием. Возможно, алгоритм арифметического кодирования натолкнет на мысль, как это делается.
Black Cat / Era CG
17.05.2020, 19:06
А текст давайте кодировать в RADIX-50!
я даже не могу рассчитать сколько на это нужно трайтов
тк калькуляторы не осиливают
Вы в школе логарифмы ещё не проходили что-ли?
- - - Добавлено - - -
300MB число это 300*1024*1024*8=2516582400 бит, т.е. максимальное число 2^2516582400
3^x=2^2516582400
x=log3(2^2516582400)
x=2516582400*log3(2)
x=2516582400*ln(2)/ln(3)
x=1587786713,4742669285537769842778, т.е. 1.587.786.714 троичных цифр.
Lethargeek
17.05.2020, 20:04
ё-моё, при чём тут вообще железо?
система счисления нужда для представления чисел в человекоудобном виде
двоичная система для человека неудобна, потому что запись слишком длинная получается
но и наращивание кол-ва цифр тоже начинает с определённого момента скорей мешать
потому что крайне неудобно будет считать в уме, особенно в обратном порядке
уже 16-ричная система вызывает затруднения, когда нужно сдвинуть адрес немного
а уж с этой хренью и подавно вытекут мозги через уши
NEO SPECTRUMAN
17.05.2020, 20:11
ага вроде немного расчехлил
ё-моё, при чём тут вообще железо?
система счисления нужда для представления чисел в человекоудобном виде
двоичная система для человека неудобна, потому что запись слишком длинная получается
но и наращивание кол-ва цифр тоже начинает с определённого момента скорей мешать
потому что крайне неудобно будет считать в уме, особенно в обратном порядке
уже 16-ричная система вызывает затруднения, когда нужно сдвинуть адрес немного
а уж с этой хренью и подавно вытекут мозги через уши
8=2^3 и в 12 битной системе это было великолепно, подошло бы и для 3,9,15, 18, 21, 24 битных систем
16=2^4 и наращивание битности шин идет с шагом 4: 4bit 8bit 12bit 16bit 20bit 24bit 28bit 32bit и т.д.
32=2^5 следовательно она идеальна для шага 5: 5bit 10bit 15bit 20bit 25bit 30bit 35bit 40bit и т.д.
для 12 бит одинаково хорошо подходят 8-ричная и 16 ричная
для 15 бит одинаково хорошо подходят 8-ричная и 32-ричная системы
для 40, 80 бит 16-ричная и 32-ричная
а для 60 бит одинаково хорошо подходят 8-и 16-и и 32-ричная системы!
То, что некоторые не были реализованы это чисто маркетинговые ходы производителей и удобства для дизайнеров микросхем. 8ричное число это 3-битный ниббл; 16ричное число это 4-битный ниббл; 32ричное число это 5-битный ниббл
16 битное число распознаваемо отображается на самых массовых 7сегментных индикаторах. Для отображения 32-ричных в принципе можно использовать точку. То есть 0. вместо G
Что же до отдельных узлов, то есть и 4 битная память и 1 битная, так что можно набрать слово любой разрядности, не говоря уже о том, что для fpga это вообще не проблема.
По поводу человекоудобности. Человекоудобны ли китайские иероглифы? Можно сказать категорично нет и списать на дебилоидов китайской древности, которые в том числе и подобным образом пытались сделать образованность уделом избранных.
Но сравните китайский с русским! В китайском нет той многозначности и неоднозначности, не говоря уже о противоречивости русского языка, где есть выражения типа "да нет, просто у него "белочка" ".
В китайском есть жесткая схема. Но для компьютерного мира и алгоритмов это плюс, а не минус.
Для базовых китайских иероглифов цифры не ограничиваются 32-ричной системой счисления как для латыни!
Некоторые характерные особенности 32-ричной системы я указал выше. Нужно включить "математический ум" и тогда, возможно найдутся и другие преимущества ее перед 8 и 16-ричными системами.
NEO SPECTRUMAN
17.05.2020, 22:11
300MB число это 300*1024*1024*8=2516582400 бит, т.е. максимальное число 2^2516582400
3^x=2^2516582400
x=log3(2^2516582400)
x=2516582400*log3(2)
x=2516582400*ln(2)/ln(3)
x=1587786713,4742669285537769842778, т.е. 1.587.786.714 троичных цифр.
а вот так посчитал я
исходная формула
log3(2^2516582400)
тк на прямую посчитать не имеем возможности
находим коэффициент трансформации
для перевода из двоичной системы в троичную
2 бита
log3(2^2) = 1,26185950714291
2 / 1,26185950714291 = 1,584962500721162303706397240923
3 бита
log3(2^3) = 1,89278926071437
3 / 1,89278926071437 = 1,5849625007211581168628494204667
сколько бит не берем (1...1000)
коэффициент трансформации один и тот же
усредняем
(1,584962500721162303706397240923+1,58496250072115 81168628494204667)/2
1,5849625007211602102846233306945
подставляем
2516582400 / 1,5849625007211602102846233306945 = 1587786713,4742628925439999999981 тритов
1587786713,4742628925439999999981 / 8
= 198473339,18428286156799999999977 трайтов
- - - Добавлено - - -
ексель
https://jpegshare.net/images/f7/74/f774284de4c1c51d5ec143b42faacd72.png
- - - Добавлено - - -
В китайском нет той многозначности и неоднозначности, не говоря уже о противоречивости русского языка, где есть выражения типа "да нет, просто у него "белочка" ".
В китайском есть жесткая схема. Но для компьютерного мира и алгоритмов это плюс, а не минус.
Для базовых китайских иероглифов
китайский видел только на картинках?
ты знаешь сколько в китайском омонимов?
Black Cat / Era CG
17.05.2020, 22:19
о противоречивости русского языка, где есть выражения типа "да нет, просто у него "белочка" "
Здесь нет противоречия. Как и в фразе "да достали уже путать значения слова "да" и искать фразы с якобы противоречием".
а вот так посчитал я
китайский видел только на картинках?
ты знаешь с сколько в китайском омонимов?
"Большинство омонимов китайского языка графически дифференцированы, т.е. имеют разное написание"
А вот даже если ограничится 214 ключевыми иероглифами, это 128-ричная система счисления...ну а если
" Современная компьютерная система Unicode 5.1, используемая для ввода китайских символов, позволяет печатать более 70 тысяч иероглифических знаков" Согласитесь, против любого европейского алфавита это огромный резерв. А ведь это слоги, каждый из которых как-то звучит. И ничё...мозги из ушей не вылезают! Но компы китайцам сильно облегчили жизнь :)
NEO SPECTRUMAN
17.05.2020, 22:44
т.е. имеют разное написание"
поэтому и имеют разное написание
тк по произношению не имеют разницы
214 ключевыми иероглифами,
какие еще ключевые иероглифы?
нет ключевых иероглифов
есть ключи
а из них строят иероглифы
а так иероглифы вообщета выглядят так
https://upload.wikimedia.org/wikipedia/commons/b/b3/HieroglyphicFragment2.png
- - - Добавлено - - -
Согласитесь, против любого европейского алфавита это огромный резерв. А ведь это слоги, каждый из которых как-то звучит.
ну дык это не алфавит
каждый ключ имеет значения
и изначально задумывалось что из этих значений и будет складыватсо смысл комбинации ключей
но что то пошло не так...
за 3000 лет смысл ВНЕЗАПНО изменился
и ключи теперь используются и просто для обозначения звуков
не неся смысловой нагрузки...
а потом еще кетайцы все упростили (япошке же упростили только слегка)
еще больше потеряв глубокий смысл...
https://ru.wikipedia.org/wiki/%D0%A3%D0%BF%D1%80%D0%BE%D1%89%D0%B5%D0%BD%D0%B8%D 0%B5_%D0%B8%D0%B5%D1%80%D0%BE%D0%B3%D0%BB%D0%B8%D1 %84%D0%BE%D0%B2
Lethargeek
18.05.2020, 00:02
а для 60 бит одинаково хорошо подходят 8-и 16-и и 32-ричная системы!
еще раз, медленно, по слогам: системы счисления предназначены НЕ "для бит", а для ЛЮДЕЙ
" Современная компьютерная система Unicode 5.1, используемая для ввода китайских символов, позволяет печатать более 70 тысяч иероглифических знаков" Согласитесь, против любого европейского алфавита это огромный резерв. А ведь это слоги, каждый из которых как-то звучит. И ничё...мозги из ушей не вылезают!
потому что в иероглифах НЕ СЧИТАЮТ
и старинные системы записи буквами (в том числе кириллицей) больших чисел тоже вымерли не случайно
NEO SPECTRUMAN
18.05.2020, 01:47
системы счисления предназначены
а еще их можно патентовать
еще раз, медленно, по слогам: системы счисления предназначены НЕ "для бит", а для ЛЮДЕЙ
потому что в иероглифах НЕ СЧИТАЮТ
и старинные системы записи буквами (в том числе кириллицей) больших чисел тоже вымерли не случайно
не для людей достаточно двоичной системы, а для людей, если люди китайцы, то и тысячи графических символов запомнить не проблема. Люди считают запоминанием таблиц сложения и умножения, хотя если под рукой счеты там другой метод. Проверить себя можно используя законы арифметики. Если вместо арабских цифр используются другие символы, то включается память на очередность их следования. Как мы запоминали латинский алфавит? С помощью известных песен. Для определения вычитания мозг включает обратный порядок. Вот я сейчас наберу по памяти под звучащую в голове песню: A B C D E F G H I J K LM N O P Q R S T U V W вот с обратным порядком конечно сложнее( не догадался никто спеть песню под обратный порядок ). Что ж попробуем складывать
V+1=0 с переносом это просто, это уже надо запоминать, типа сколько символов до конца списка U+2=0, T+3 =0, S+4 = 0 и т.д.
В общем освоить такую арифметику на сложение и вычитание не сложнее, чем выучить 100 китайских иероглифов для русского человека.
А что касается умножения и деления, то вряд ли кто-то разделит в голове 0FE54H на 1A. Начнете или в десятичные переводить или в двоичные.
Старинные системы, в том числе римская, были десятичные с неарабскими символами. Арабские цифры не сами по себе пришли, а с таблицами и прочими математическими знаниями. Был стимул их осваивать. Насчет удобства не знаю. Школьникам про эти удобства расскажите, которые таблицу умножения запоминают. Счастье, что в школе оставили систему только десятичную с арабскими цифрами. А вот если подкинуть туда и двоичную, и восьмеричную и шестнадцатеричную, не говорю уже о 32ричной. Потребность в изменениях будет, когда человечество начнет осваивать космос и наномир. Там очень большие и очень малые величины и точность 0.01% точно никого не устроит. Для европейцев 32-ричная система предел. Русские могут добавить кириллицу и оперировать с 64-ричной системой. Для китайцев эти величины больше. Для них и 128-ричная и 256-ричная системы(байт символом) не "мозги из ушей".
- - - Добавлено - - -
а еще их можно патентоватьнельзя! как и физические законы - являются общим достоянием человечества
Lethargeek
18.05.2020, 14:57
Люди считают запоминанием таблиц сложения и умножения,
ага, давай, запомни таблицу умножения 100x100
Старинные системы, в том числе римская, были десятичные с неарабскими символами.
всякие были, у шумеров аж 60-ричная (от которой ныне только временная шкала осталась)
разные непозиционные алфавитные (римская еще далеко не самая жуткая)
и все нахрен вымерли - неудобно
Spectramine
18.05.2020, 15:12
Старинные системы, в том числе римская, были десятичные с неарабскими символами.
Римская вообще непозиционная система счисления, тем более не десятичная.
Прикольный пример:
Число: 0HELLW десятичное:
32*21+32^2*21+32^3*14+32^4*17=
672+
21504(1024*21)+
458752(32768*14)+
17825792(1048576*17)=18306720
если у ЦП вашего компьютера такая тактовая частота 1,8306720MHz...шутка!
От шестидесятеричной не только временная шкала. Еще углы. Еще температурная шкала Фаренгейта.
Еще двадцатеричная система существовала тысячелетиями у майя, видимо по числу пальцев на руках и ногах.
Но все они не привязаны к двоичному биту. Если бы вместе с триггером с двумя устойчивыми состояниями в природе существовала управляемая ячейка с тремя состояниями, то кроме бита развились бы технологии с тритом.
По поводу таблицы умножения. А что кто-то учит ее для 16-ричной системы?
- - - Добавлено - - -
Римская вообще непозиционная система счисления, тем более не десятичная
Ну почему же совсем непозиционная? Запишите 26 и 26 000. Она комбинированная. Сперва была аддитивно-позиционная( XXXIII), но позднее вместо IIII стали писать IV. Смена позиции фиксировалась сменой символа "10": X,C,M "5":V,L,D
И у них, заметьте, на этой системе арифметика существовала!
Всего ряда десятичных чисел не было, но привязка к 10,100,1000 и т.д а также к 5, 50, 500 и т.д. была
На планете где у живых существ по 6 пальцев на руках и 6 на ногах родилась бы другая система счисления? А если 3 руки и 3 ноги?
andrews,
https://www.youtube.com/watch?v=iEIr-lkR-DM
вот тут например человек создает троичный комп
Lethargeek
18.05.2020, 20:16
На планете где у живых существ по 6 пальцев на руках и 6 на ногах родилась бы другая система счисления? А если 3 руки и 3 ноги?
нам явно что-то недоговаривают о шумерах
andrews,
вот тут например человек создает троичный компвпечатляет, но информативней был бы эмулятор, средства разработки и проги, иллюстрирующие преимущества. Я понимаю, что он делает на основе технологий имеющихся...вчера. И у него память на 13 ячеек огромный блок, что ж с АЛУ-то будет? А с ЦП?
- - - Добавлено - - -
нам явно что-то недоговаривают о шумерах
они пошли дальше майя в математической абстракции. А еще записали знания на носителях, которые остались целы через 4 тысячелетия. Обожженная глина конечно не гранит, но самый прочный и огнеупорный материал. Более долговечное хранение на миллионы лет возможно только с использованием космических объектов и специальных космических аппаратов.
впечатляет, но информативней был бы эмулятор, средства разработки и проги, иллюстрирующие преимущества. Я понимаю, что он делает на основе технологий имеющихся...вчера. И у него память на 13 ячеек огромный блок, что ж с АЛУ-то будет? А с ЦП?
А там все есть и эмулятор и проги.
А там все есть и эмулятор и проги.
Посмотрел, но это еще далеко от приложений, иллюстрирующих преимущества троичной логики, например "задачу о гирях". Операций сложения и вычитания не реализованы. Похоже автор прикидывал проект на реализацию в железе и его собственно эмулировал. Ассемблера никакого нет. "Фибоначчи (Леонардо Пизанский) (Пиза, Италия) сформулировал «задачи о гирях» («задача Баше-Менделеева») и доказал, что, при разрешении класть гири только на одну чашу весов, наиболее экономичной является двоичная система счисления, а при разрешении класть гири на обе чаши весов, наиболее экономичной является троичная симметричная система счисления"
Посмотрел, но это еще далеко от приложений, иллюстрирующих преимущества троичной логики, например "задачу о гирях". Операций сложения и вычитания не реализованы. Похоже автор прикидывал проект на реализацию в железе и его собственно эмулировал. Ассемблера никакого нет. "Фибоначчи (Леонардо Пизанский) (Пиза, Италия) сформулировал «задачи о гирях» («задача Баше-Менделеева») и доказал, что, при разрешении класть гири только на одну чашу весов, наиболее экономичной является двоичная система счисления, а при разрешении класть гири на обе чаши весов, наиболее экономичной является троичная симметричная система счисления"
Ну человек как бы один занимается вот этим. Всего успеть трудно.
Будем посмотреть.
nihirash
19.05.2020, 01:07
Посмотри Base58 - там специально выкинули букву O, чтобы избежать путаницы с нулем.
Можешь взять за основу их алфавит и сократить до необходимого тебе масштаба.
Посмотри Base58 - там специально выкинули букву O, чтобы избежать путаницы с нулем.
Можешь взять за основу их алфавит и сократить до необходимого тебе масштаба.
если выкинуть букву "O", то в символьной интерпретации( STOP,POST и пр.) придется замещать её нулём. Надо подумать.
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot