Умножение в различных системах счисления калькулятор

Умножение в различных системах счисления калькулятор

Калькулятор поддерживающий основные математические действия над числами, представленными в любой системе счисления — начиная от двоичной (с основанием 2) и заканчивая тридцатишестиричной (с основанием 36). Троичная, восьмеричная, шестнадцатеричная, и так далее.

По многочисленным просьбам пользователей я решил объединить логику калькуляторов Арифметика двоичных чисел и Перевод дробных чисел из одной системы счисления в другую и сделать универсальный калькулятор, который может выполнять основные математические действия (сложение, вычитание, умножение, деление и возведение в степень) над числами в любой системе счисления. Для указания системы счисления используется параметр «Основание системы счисления, в которой записано выражение», в котором можно указать любое число от 2 до 36. Например, 2 для двоичной, 8 для восьмеричной, 16 для шестнадцатеричной и так далее.

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

Для возведения в степень используется конструкция вида число^степень (внизу на примере — 110^10).

Калькулятор выполняет все самые важные математические действия, такие как умножение, деление, вычитание и сложение, а также возведение в степень.

Во втором поле нужно указать систему счисления, под которой вы записали число. В данной графе вы можете прописать цифру 2, 8, 16 или 36 в зависимости от системы исчисления введенного вами числа

Также есть вариант вычисления выражений с дробовыми числами.

Пример №2 . Представить двоичное число 101.102 в нормализованном виде, записать в 32-битом стандарте IEEE754.
Таблица истинности

Способы представления чисел

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

Пример №1 .


Перевод из 2 в 8 в 16 системы счисления.
Эти системы кратны двум, следовательно, перевод осуществляется с использованием таблицы соответствия (см. ниже).

Читайте также:  Как обновить мозилу в линукс

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

Пример №2 . 1010111010,1011 = 1.010.111.010,101.1 = 1272,518
здесь 001=1; 010=2; 111=7; 010=2; 101=5; 001=1

При переводе в шестнадцатеричную систему необходимо делить число на части, по четыре цифры, соблюдая те же правила.
Пример №3 . 1010111010,1011 = 10.1011.1010,1011 = 2B12,13HEX
здесь 0010=2; 1011=B; 1010=12; 1011=13

Перевод чисел из 2 , 8 и 16 в десятичную систему исчисления производят путем разбивания числа на отдельные и умножения его на основание системы (из которой переводится число) возведенное в степень соответствующую его порядковому номеру в переводимом числе. При этом числа нумеруются влево от запятой (первое число имеет номер 0) с возрастанием, а в правую сторону с убыванием (т.е. с отрицательным знаком). Полученные результаты складываются.

Пример №4 .
Пример перевода из двоичной в десятичную систему счисления. Пример перевода из восьмеричной в десятичную систему счисления. Пример перевода из шестнадцатеричной в десятичную систему счисления.

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

  1. Из десятичной системы счисления:
    • разделить число на основание переводимой системы счисления;
    • найти остаток от деления целой части числа;
    • записать все остатки от деления в обратном порядке;
    • Из двоичной системы счисления
      • Для перевода в десятичную систему счисления необходимо найти сумму произведений основания 2 на соответствующую степень разряда;
      • Для перевода числа в восьмеричную необходимо разбить число на триады.
        Например, 1000110 = 1 000 110 = 1068
      • Для перевода числа из двоичной системы счисления в шестнадцатеричную необходимо разбить число на группы по 4 разряда.
        Например, 1000110 = 100 0110 = 4616
      Читайте также:  Как добавить ключи в реестр

      Позиционной называется система, для которой значимость или вес цифры зависит от ее места расположения в числе. Соотношение между системами выражается таблицей.
      Таблица соответствия систем счисления:

      Двоичная СС Шестнадцатеричная СС
      0000
      0001 1
      0010 2
      0011 3
      0100 4
      0101 5
      0110 6
      0111 7
      1000 8
      1001 9
      1010 A
      1011 B
      1100 C
      1101 D
      1110 E
      1111 F

      Таблица для перевода в восьмеричную систему счисления

      Двоичная СС Восьмеричная СС
      000
      001 1
      010 2
      011 3
      100 4
      101 5
      110 6
      111 7

      Пример №2 . Перевести число 100,12 из десятичной системы счисления в восьмеричную систему счисления и обратно. Пояснить причины расхождений.
      Решение.
      1 Этап. Перевод числа из десятичной системы счисления в восьмеричную систему счисления.

      Целая часть от деления Остаток от деления
      100 div 8 = 12 100 mod 8 = 4
      12 div 8 = 1 12 mod 8 = 4 1 div 8 = 0 1 mod 8 = 1

      Остаток от деления записываем в обратном порядке. Получаем число в 8-ой системе счисления: 144
      100 = 1448

      Для перевода дробной части числа последовательно умножаем дробную часть на основание 8. В результате каждый раз записываем целую часть произведения.
      0.12*8 = 0.96 (целая часть )
      0.96*8 = 7.68 (целая часть 7)
      0.68*8 = 5.44 (целая часть 5)
      0.44*8 = 3.52 (целая часть 3)
      Получаем число в 8-ой системе счисления: 0753.
      0.12 = 0.7538

      2 Этап. Перевод числа из десятичной системы счисления в восьмеричную систему счисления.
      Обратный перевод из восьмеричной системы счислений в десятичную.

      Для перевода целой части необходимо умножить разряд числа на соответствующую ему степень разряда.
      144 = 8 2 *1 + 8 1 *4 + 8 0 *4 = 64 + 32 + 4 = 100

      Для перевода дробной части необходимо разделить разряд числа на соответствующую ему степень разряда
      0753 = 8 -1 *0 + 8 -2 *7 + 8 -3 *5 + 8 -4 *3 = 0.119873046875 = 0.1199

      144,07538 = 100,9610
      Разница в 0,0001 (100,12 — 100,1199) объясняется погрешностью округлений при переводе в восьмеричную систему счислений. Эту погрешность можно уменьшить, если взять большее число разрядов (например, не 4, а 8).

      Ссылка на основную публикацию
      Тест соловея штрассена c
      Символ Якоби отличается от символа Лежандра тем, что в первом знаменатель – составное число, а во втором – простое. Алгоритм...
      Стрим с камеры телефона
      На сегодняшний день сервис YouTube прочно закрепился на позициях лидера мирового интернет медиарынка. Всего несколько лет назад вести свой канал...
      Строки в pascal abc
      Для обработки строковой информации в Турбо Паскаль введен строковый тип данных. Строкой в Паскале называется последовательность из определенного количества символов....
      Тест стиральной машины bosch maxx 5
      Самодиагностика – это очень важная функция, которая отличает современные стиральные машины с электронным управлением от старой аналоговой техники. Запустив сервисный...
      Adblock detector