Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Какаю из систем счисления можно считать самой эффективной? Почему ?

HotTeaLover HTL Знаток (488), закрыт 14 лет назад
Дополнен 15 лет назад
Уточняю: имеются ввиду позиционные системы счисления -

двоичная (в дискретной математике, информатике, программировании),
десятичная система счисления,
шестнадцатеричная (наиболее часто используется в программировании, а также в шрифтах).

Самые распространённые.
Лучший ответ
Dm.Arseniev Мыслитель (7024) 15 лет назад
Миха Загурский зашибись блеснул знаниями! :)
Приходи к нам в МИЭМ учиться, я тебе сразу пятерку поставлю!
Вот по теме ссылочка: files.mail.ru /E3ACX3
Это конвертор из произвольной системы счисления в произвольную, типа проба пера :)

А по теме - самая эффективная - смотря для чего?
Двоичная - самая эффективная для максимально формализуемых вычислений. Из нее мгновенно моджно перевести число в 4-ричную, 8-ричную, 16-ричную, 32-ричную, 64-ричную итд системы счисления.
Но для восприятия человеком, числа в ней выглядят тяжеловато.

Если цель - уместить в 1 символ как можно больше информации - то чем больше основание системы счисления, тем лучше. Так, например, китайские иероглифы можно считать >20000-ричной системой счисления.

Для решения дифференциальных уравнений лучше е-ричная (где основанием является иррациональное число "е").

Для ряда задач по комбинаторике, любая позиционная система (позиционная - это когда соседние цифры отличаются друг от друга в равное количество раз) неоптимальна, а вот факториальная - в самый раз.

Исторически сложилось, что люди пользуются десятичной системой, хотя она не самая оптимальная.
Но было и хуже! Когда-то всерьез учили в школах детей считать в римской системе счисления! Не только складывать и вычитать, а еще умножать и делить!
Вот это был ужас! :))

В истории был случайкогда некий король Франции собирался сделать 8-ричную систему счисления государственной, и только смерть помешала ему это сделать.
Остальные ответы
Koro -koro Мастер (1488) 15 лет назад
США в 1960 году были инициаторами системы СИ.
А сами до сих пор её не приняли!
Вывод - самая-самая это система - $ !
Миха Загурский Гуру (3000) 15 лет назад
Я считаю что лучше всего шестнадцатеричная система счисления. Она более информативна, больше информации помещается в одном символе, она кратна двоичной системе. А вот что написано в Википедии:

Применение

Широко используется в низкоуровневом программировании и вообще в компьютерной документации, поскольку в современных компьютерах минимальной единицей памяти является 8-битный байт, значения которого удобно записывать двумя шестнадцатеричными цифрами. Такое использование началось с системы IBM/360, где вся документация использовала шестнадцатеричную систему, в то время как в документации других компьютерных систем того времени (даже с 8-битными символами, как, например, PDP-11 или БЭСМ-6) использовали восьмеричную систему.

В стандарте Юникода номер символа принято записывать в шестнадцатеричном виде, используя не менее 4 цифр (при необходимости — с ведущими нулями) .

Способы записи

В математике

В математике систему счисления принято писать в подстрочном знаке. Например, десятичное число 1443 можно записать как 144310 или как 5A316.

В языках программирования

В разных языках программирования для записи шестнадцатеричных чисел используют различный синтаксис:
В Ада и VHDL такие числа указывают так: "16#5A3#".
В Си и языках схожего синтаксиса, например, в Java, используют префикс "0x". Например, "0x5A3".
В некоторых ассемблерах используют букву "h", которую ставят после числа. Например, "5A3h". При этом, если число начинается не с десятичной цифры, впереди ставится "0" (ноль) : "0FFh" (25510)
Другие ассемблеры (AT&T, Motorola), а также Паскаль и некоторые версии Бэйсика используют префикс "$". Например, "$5A3".
Некоторые иные платформы, например ZX Spectrum в своих ассемблерах (MASM, TASM, ALASM, GENS и т. д. ) использовали запись #5A3, обычно выровненную до одного или двух байт: #05A3.
Другие версии Бэйсика используют для указания шестнадцатеричных цифр сочетание "&h". Например, "&h5A3".
В Unix-подобных операционных системах (и многих языках программирования, имеющих корни в Unix/linux) непечатные символы при выводе/вводе кодируются как \xCC, где CC - шестнадцатеричный код символа.

Перевод чисел из одной системы счисления в другую

Перевод чисел из шестнадцатеричной системы в десятичную

Для перевода шестнадцатеричного числа в десятичное необходимо это число представить в виде суммы произведений степеней основания шестнадцатеричной системы счисления на соответствующие цифры в разрядах шестнадцатеричного числа.

Например, требуется перевести шестнадцатеричное число 5A3 в десятичное. В этом числе 3 цифры. В соответствии с вышеуказанным правилом представим его в виде суммы степеней с основанием 16:
5A316=5·162+10·161+3·160
=5·256+10·16+3·1=1280+160+3=144310

Перевод чисел из двоичной системы в шестнадцатеричную

Для перевода многозначного двоичного числа в шестнадцатеричную систему нужно разбить его на тетрады справа налево и заменить каждую тетраду соответствующей шестнадцатеричной цифрой.

Например:
101101000112=0101 1010 0011=5A316

Таблица перевода чисел
0hex=0dec=0oct0000
1hex=1dec=1oct0001
2hex=2dec=2oct0010
3hex=3dec=3oct0011

4hex=4dec=4oct0100
5hex=5dec=5oct0101
6hex=6dec=6oct0110
7hex=7dec=7oct0111

8hex=8dec=10oct1000
9hex=9dec=11oct1001
Ahex=10dec=12oct1010
Bhex=11dec=13oct1011

Chex=12dec=14oct1100
Dhex=13dec=15oct1101
Ehex=14dec=16oct1110
Fhex=15dec=17oct1111
Источник: Собственные знания, ВиКИпеДия
Алекс Ученик (137) 15 лет назад
Смотря для чего.
Для использования в оборудовании - двоичная. Потому что числа в ней выражаются как "есть сигнал" - "нет сигнала".
Для человека - десятеричная. Потому что мы просто привыкли на ней считать.
Для числового кодирования графики, медиа контента - шестнадцатеричная. Потому что наиболее информативная - позволяет записывать длинные (т. к. это позиционные системы) числа в небольшом размере. Например число 16777215 можно представить как FFFFFF
Павел Ефремов Гуру (2803) 15 лет назад
В инете ничего вразумительного не нашёл, только готовые формулы и выводы.
http://ru.wikipedia.org/wiki/Троичный_компьютер
http://ru.wikipedia.org/wiki/Сетунь_(компьютер)
http://www.mathematik.boom.ru/SIST/sist.htm
Если мне не изменяет память, то надо делать так. Пусть мы хотим хранить числа из диапазона [1..n] в некоем регистре. Полагаем, что стоимость (в рублях) одного разряда регистра пропорциональна основанию системы. Задача через выбор основания системы построить самый дешёвый регистр.
Это экономическая эффективность. Реально стоимость разряда выше, и двоичная оказывается лучше всех. Это на современном этапе. Что будет с квантовыми компьютерами покажет время.

По поводу римской системы. Распространённое заблуждение, что с её помощью проводили вычисления. Вычисляли при помощи абака, а результат записывали римскими цифрами. Само слово calcul (ator) означает камешек абака.

8-ную систему хотел ввести шведский король Карл XII, но Пётр I эту затею загубил под Полтавой.
Похожие вопросы