Калькулятор разных систем счисления (Scale of notation) онлайн

Выражение содержащее данные в различных системах счисления
Полученный результат

Система счисления

Начнем издалека. Все, кто начал читать эту статью, надеюсь в совершенстве знают арифметику школьного уровня.  И все если не знают, то догадываются что числа, с которыми мы встречаемся в быту, имеют десятеричный вид.

Это и логично, раз после девяти идет десять, после девяносто девяти, сто, то любое число в нашей (десятеричной) системе можно выразить таким  образом 

десятеричная система

Например число 

пример

После понимания такого вида, возникает идея: А нельзя ли это же число представить в другом исчислении?

Эта задумка очень помогла в информатизации нашего общества. Если очень глубоко покапаться в логике работы компьютеров, можно убедится, что все они на самом низком уровне мыслят двумя состояниями или да(1) или нет(0)

Сейчас ученые уже предполагают что это очень уж примитивное мышление и надо было создавать три  состояния да(1), нет(0) и может быть, не сегодня,возможно, я не уверена(2) :)

Ну или более серъезно просто три логических уровня -1, 0, 1.

Говорят, это очень сильно улучшает интелектуульные  способности машины, и позволяет избежать некоторых нюансов, которые присутствуют при работе с двоичной системой.

Но мы отвлеклись..

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

Двоичная арифметика говорит о том, что любое число ( в нашей привычной, десятичной системе) можно представить в двоичной

двоичная истема

Например пример двоичный

Логично предположить что существует множество систем счисления. Особенно популярны шестнадцеричная, и восьмиричная система , кроме упомянутых двух.

У вдумчивого читатателя возникает вопрос: систем множество, но почему же все программы ограничиваются конвертацией  максимум в 36 ричную систему? 

Связано это с тем, что выше 36 ричной системы никто не придумал как именовать символы, то есть это банальное ограничение букв английского алфвавита.

десять цифр+26 букв алфавита и дают магическую цифру 36

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

Бот, который мы хотим вам представить на  7 августа 2014 года , целочисленный, то есть он  не умеет считать дробные числа.. 

Зато у него есть другие достоинства:

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

Это очень удобно для  как решения задач, так и для генерирования задач для учеников или студентов.

Кроме этого, система позволяет  Вам корректно отображать прямой, дополнительный и обратные кода для отрицательных чисел в различных системах счисления. Такого Вы тоже не найдете на просторах интернета. 

Синтаксис 

Jabber:  convert выражение =результат в системе счисления

выражение - математическое выражение, которое может содержать проивзольные числа и произвольные функции. Любое промежуточное выражение в исходном вырадении, будет огруглятся до целого числа.

Число должно быть действительным и в квадратных скобках содержать информацию о системы

Например 1010[2] - это число в двоичной системе счисления, а 1010[8]- это число в восьмеричной системе счисления

=Результат в системе счисления - это необазательный параметр и говорит боту что  бы он вывел данные в той системе счисления, которая была указана после равенства.

Примеры вычислений

Конвертировать число 111011010100100100010100111 заданная в двоичном исчислении в 16-ти ричную форму.

convert 111011010100100100010100111[2]=16

Получаем

Результат равен = 76a48a7


Перевести десятичное число 11102342 в 7-ми значную систему счисления

convert 11102342[10]=7

Результат равен = 163240226


Расчитать следующее выражение: 01011 в двоичном исчислении прибавить fa0c в шестадцатеричном и вычесть удвоеное значение 01703 в восьмеричном исчислении/ Вывести результат в десятеричной форме

Как вы руками будете делать я не знаю а боту достаточно дать команду

convert 01011[2]+fa0c[16]-2*01703[8]=10

получим ответ 62097 

так как у нас написано =10 то ответ получен в десятеричной форме


Выразим отрицательное число -227 в двоичной форме получим

Отрицательный результат
Прямой код 1000....00011100011
Обратный код 1111....11100011100
Дополнительный код 1111....11100011101
 
Возниакет вопрос а что это за многоточие ?  Это лишь говорит нам о том, что в зависимости от объема ячейки хранения числа в информационных системах, длина  результата может варьироваться.
Например при обратном коде,  в выше рассмотренном примере
1111....11100011100
это может быть и
111111100011100
и 1111111111111111111100011100
и 1111111111111111111111111111111111100011100
 
 
Успехов в расчетах!