Программа для перевода систем счисления

Поставить LIKE и поделиться ссылкой
  • Калькулятор
  • Инструкция
  • Теория
  • История
  • Сообщить о проблеме

Ура. Вам стало интересно как получилось данное число

Вы ввели число: в системе счисления и хотите перевести его в .
Для этого переведем его сначала в десятичную вот так :

  1. Введите число которое надо перевести.
  2. Укажите его систему счисления.
  3. Укажите в какую систему счисления переводить.
  4. Нажмите кнопку "Перевести".

Калькулятор перевода чисел имеет одно поле для ввода. В это поле необходимо ввести число которое Вы хотите перевести.

После этого Вам обязательно нужно указать в какой системе счисления Вы его ввели. Для этого под полем ввода есть графа "Его система счисления".

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

После нажмите кнопку "ПЕРЕВЕСТИ" и результат появится в соответствующем поле. Если Вы хотите получить подробный ход решения, то нажмите на соответствующую ссылку.

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

Любое число может быть легко переведено в десятичную систему по следующему алгоритму:

Каждая цифра числа должна быть умножена на основание системы счисления этого числа возведенное в степень равное позиции текущей цифры в числе справа налево, причём счёт начинается с 0.

Пример №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

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

      Читайте также  Принтер canon i sensys lbp6020b отзывы
      Двоичная СС Шестнадцатеричная СС
      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).

      Основные темы параграфа:

      перевод двоичного числа в десятичную систему счисления;

      перевод десятичного числа в двоичную систему счисления.

      В§ 18 учебника для 8 класса рассказано о двоичной системе счисления, которая используется в компьютере для представления чисел и выполнения вычислений с ними. Там же описаны правила, по которым можно вручную выполнить перевод двоичных чисел в десятичную систему счисления и обратный перевод — десятичных чисел в двоичные. Рассмотрим программы на Паскале для автоматического перевода чисел из одной системы счисления в другую. Ограничимся переводом целых чисел.

      Программа перевода двоичного числа в десятичную систему счисления

      Рассмотрим программу на Паскале, по которой происходит перевод целого двоичного числа в десятичную систему.

      ProgramNumbers_2_l0;

      varN10,N2,k: longint;

      Читайте также  Почему нельзя менять имя

      Begin

      while(N2<>0)do

      Begin

      N10:=N10 + (N2 mod 10)*k;

      N2:=N2 div 10

      end;

      End.

      В программе использованы следующие переменные:

      N2 — целое двоичное число — исходное данное;

      N10 — десятичное число — результат;

      Тип longint— длинный целый тип. Значения величин этого типа лежат в диапазоне от -2147483648 до 2147483647. Значит, данная программа может работать с числами, не более чем 9-значными.

      В этой программе используются две незнакомые вам операции с целыми числами. Операция div— целочисленное деление. Делимое и делитель являются целыми числами, а результат — целая часть частного. Например: 7 div2 =3. Для отбрасывания младшего разряда целого числа используется целочисленное деление на 10. Например: 1234 div10 = 123 — отбрасывается младший разряд.

      Операция modдает остаток от целочисленного деления. Например: 7 mod2 = 1. Для получения младшего разряда целого числа вычисляется остаток от целочисленного деления на 10. Например: 1234 mod10 = 4 — выделяется разряд единиц.

      Пример.При переводе по данной программе двоичного числа 11012 в десятичную систему на экране увидим:

      Следовательно, в итоге получили: 11012=13.

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

      Шаг алгоритма Команды алгоритма N2 k N10 Проверка условия
      Ввод N2, k:=1, N10:=0
      N200 1101≠0, да
      N10:=N10 + (N2 mod 10)*k
      k:=k*2
      N2:=N2 div 10
      N200 110≠0,да
      N10:=N10 + (N2 mod 10)*k
      k:=k*2
      N2:=N2 div 10
      N200 11≠0,да
      N10:=N10 + (N2 mod 10)*k
      k:=k*2
      N2:=N2 div 10
      N2<>0 1≠0,да
      N10:=N10 + (N2 mod 10)*k
      k:=k*2
      N2:=N2 div 10
      N200 0≠0, нет
      Вывод N10

      Программа перевода десятичного числа в двоичную систему счисления

      Теперь познакомьтесь с программой перевода целого десятичного числа в двоичную систему счисления.

      Program Numbers_10_2;

      var N10, N2, k: longint;

      Begin

      Repeat

      N2:=N2 + (N10 mod 2)*k;

      until (N10=0);

      End.

      Здесь использованы те же обозначения, что и в предыдущей программе. Исходными данными являются: N10 — десятичное число. Результат получается в переменной N2 — число в системе с основанием 2.

      В алгоритме используется цикл с постусловием (repeat. until). Цикл повторяется до выполнения условия: N10 = 0.

      Примериспользования программы. Переведем число 25 в двоичную систему счисления. Работа программы на экране компьютера отразится следующим образом:

      Следовательно, в результате получили: 25 =110012.

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

      Коротко о главном

      Программирование перевода 10 → 2 и 2 → 10 основано на использовании операций над целыми числами: div — целочисленное деление, mod — остаток от целочисленного деления.

      Вопросы и задания

      1. Введите в компьютер и отладьте программу Number S_2_l 0. Переведите с ее помощью в десятичную систему счисления следующие двоичные числа: 111110; 1111111; 100000. Проверьте правильность результатов.

      2. Введите в компьютер и отладьте программу Number s_l 0_2. Переведите с ее помощью в двоичную систему счисления следующие десятичные числа: 255; 512; 1023. Проверьте правильность результатов.

      Сложность алгоритмов

      Основные темы параграфа:

      объемная сложность алгоритма;

      временная сложность алгоритма;

      сложность алгоритмов перебора.

      Читайте также  Программа для подбора паролей в майнкрафт

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

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

      Временная сложностьсвязана с количеством операций, выполняемых процессором в течение работы программы. Наибольшая часть процессорного времени тратится на выполнение циклов. Поэтому оценка временной сложности производится по количеству повторений циклов. Нетрудно понять, что при обработке массива данных количество повторений циклов связано с размером массива. Например, пусть вычисляется сумма элементов массива X, состоящего изN чисел:

      S:=0;fori:=ltoN doS:=S + X[i];

      В теле цикла выполняется две операции: сложение и присваивание. Число повторений цикла равно N. Следовательно, суммарное число выполняемых операций равно N • 2.Значит, время выполнения всего цикла будет пропорционально N • 2: ТN • 2. В таком случае говорят, что временная сложность алгоритма зависит линейно от объема данных. Во сколько раз возрастет N, во столько же раз возрастет время выполнения программы.

      Если вернуться к алгоритму поиска наибольшего и наименьшего значений массива, то в нем также имеется один цикл, хотя тело цикла содержит большее число операций. Но с увеличением размера массива (N) время выполнения программы будет также увеличиваться линейно, т. е. пропорционально N. Следовательно, временная сложность алгоритмов суммирования массива и поиска в массиве максимального (минимального) элемента одинаковая — линейная.

      Теперь оценим временную сложность алгоритма сортировки массива методом пузырька. По-прежнему обозначим через N размер массива. Алгоритм содержит два вложенных цикла. Внешний цикл имеет длину N — 1. Внутренний цикл с каждым повторением изменяет свою длину по убыванию: N — 1,N — 2, N — 3, . 2, 1.Суммарное число повторений цикла можно посчитать так:

      • вычислим среднюю длину внутреннего цикла:

      • умножим эту величину на число повторений внешнего цикла:

      Временная сложность алгоритма определяется слагаемым с наибольшей степенью: Т

      N 2 . В таком случае говорят, что временная сложность алгоритма сортировки методом пузырька имеет второй порядок по объему данных, т. е. пропорциональна квадрату N. Например, если размер массива увеличить в 10 раз, то время сортировки возрастет в 100 раз.

      Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ — конструкции, предназначен­ные для поддерживания проводов на необходимой высоте над землей, водой.

      Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим.

      Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций.

      «>

      Ссылка на основную публикацию
      Adblock
      detector