МегаПредмет

ПОЗНАВАТЕЛЬНОЕ

Сила воли ведет к действию, а позитивные действия формируют позитивное отношение


Как определить диапазон голоса - ваш вокал


Игровые автоматы с быстрым выводом


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


Целительная привычка


Как самому избавиться от обидчивости


Противоречивые взгляды на качества, присущие мужчинам


Тренинг уверенности в себе


Вкуснейший "Салат из свеклы с чесноком"


Натюрморт и его изобразительные возможности


Применение, как принимать мумие? Мумие для волос, лица, при переломах, при кровотечении и т.д.


Как научиться брать на себя ответственность


Зачем нужны границы в отношениях с детьми?


Световозвращающие элементы на детской одежде


Как победить свой возраст? Восемь уникальных способов, которые помогут достичь долголетия


Как слышать голос Бога


Классификация ожирения по ИМТ (ВОЗ)


Глава 3. Завет мужчины с женщиной


Оси и плоскости тела человека


Оси и плоскости тела человека - Тело человека состоит из определенных топографических частей и участков, в которых расположены органы, мышцы, сосуды, нервы и т.д.


Отёска стен и прирубка косяков Отёска стен и прирубка косяков - Когда на доме не достаёт окон и дверей, красивое высокое крыльцо ещё только в воображении, приходится подниматься с улицы в дом по трапу.


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

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





Представление числовой информации с помощью систем счисления.

Программирование линейных алгоритмов.

Запись и считывание данных из файла последовательного доступа

Цель работы

Изучить представление числовой информации с помощью систем счисления (с/с) и методику перевода чисел из одной системы счисления в другую. Выработать практические навыки работы с оболочкой компилятора Visual Basic системы Visual Studio. Научиться создавать и отлаживать простейшие программы, реализующие линейные алгоритмы на языке Visual Basic. Изучить процедуру записи и считывания информации в файл.

Программа работы

1. Ознакомиться с описанием лабораторной работы.

2. В соответствии с вариантом задания (табл. 1) выполнить перевод из данной с/с в остальные (2 с/с, 8 с/с, 10 с/с и 16 с/с).

3. Создать программу в среде Visual Basic калькулятора, основанного на линейном алгоритме и производящего перевод чисел из одной системы счисления в другую.

4. Создать событийную процедуру записи результата преобразования в файл.

Основные сведения

Представление числовой информации с помощью систем счисления

Система счисления — знаковая система, в которой числа записываются по определенным правилам с помощью символов некоторого алфавита, называемых цифрами.

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

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

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

В общем случае в десятичной системе счисления запись числа А10, которое содержит n целых разрядов числа и m дробных разрядов числа, выглядит следующим образом:

A10=an-1∙10n-1+…+a0∙100+a-1∙10-1+…+a-m∙10-m

В общем случае в двоичной системе счисления запись числа А2, которое содержит n целых разрядов числа и m дробных разрядов числа:

A2=an-1∙2n-1+ an-2∙2n-2+…+a0∙20+a-1∙2-1+…+a-m∙2-m

В системах счисления с основанием q числа в развернутой форме записываются в виде суммы степеней основания q с коэффициентами, в качестве которых выступают цифры 0, 1, q-1:

Aq=an-1qn-1+ an-2qn-2+…+a0q0+a-1q-1+…+a-mq-m

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

Перевод чисел в 10 с/с

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

Из 2 с/с в 10 с/с: 10,112=1∙21+0∙20+1∙2-1+1∙2-2=1∙2+0∙1+1∙1/2+1∙1/4=2,7510.

Из 8 с/с в 10 с/с: 67,58=6∙81+7∙80+5∙8-1=6∙8+7∙1+5∙1/8=55,62510.

Из 16 с/с в 10 с/с: 19F16=1∙162+9∙161+F∙80=1∙256+9∙16+15∙1=41510.

Перевод чисел из 10 с/с в 2 с/с, 8 с/с и 16 с/с

Алгоритм перевода целых десятичных чисел в 2 с/с, 8 с/с и 16 с/с:

1. Последовательно выполнять деление исходного целого десятичного числа и получаемых целых частных на основание системы (на 2, 8 или 16 для 2 с/с, 8 с/с или 16 с/с соответственно) до тех пор, пока не получится частное, меньшее делителя (т.е. меньшее 2, 8 или 16 для 2 с/с, 8 с/с или 16 с/с соответственно).



2. Записать полученные остатки в обратной последовательности.

Рассмотрим алгоритм перевода целых чисел на примере перевода целого десятичного числа А10=42410 в 16 с/с, т.е. из с/с с основанием р=10 в с/с с основанием q=16.

В процессе выполнения алгоритма все действия осуществляются в исходной с/с (здесь 10 с/с), а полученные остатки записываются цифрами новой с/с (здесь 16 с/с).

В результате получаем шестнадцатеричное число: A16=1A816.

Алгоритм перевода правильных десятичных дробей в 2 с/с, 8 с/с и 16 с/с:

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

2. Записать полученные целые части произведения в прямой последовательности.

Рассмотрим перевод дробных чисел на примере перевода десятичной дроби А10=0,40625 в 8 с/с, то есть из с/с с основанием р=10 в с/с с основанием q=8.

В результате получаем восьмеричную дробь: А8=0,328.

Перевод чисел, содержащих и целую, и дробную части, производится в два этапа: отдельно переводится по соответствующему алгоритму целая часть и отдельно — дробная. В итоговой записи полученного числа целая часть от дробной отделяется запятой.

Перевод чисел из с/с с основанием p в с/с с основанием q

Чтобы перевести произвольное число из с/с с основанием р = 2m в с/с с основанием q = 2n, необходимо:

1. В р-ичном числе объединить разряды влево и вправо от запятой в группы по m разрядов в каждую.

2. Если крайние группы окажутся неполными, то необходимо дополнить их нулями до полных групп.

3. Рассмотреть каждую группу как n-разрядное q-ичное число и заменить его на соответствующую цифру системы счисления с основанием q.

Пример.

0001 1011 1111 0000 , 0110 10002 = 1BF0 , 6816





©2015 www.megapredmet.ru Все права принадлежат авторам размещенных материалов.