- •Кафедра вычислительной техники Отчет о лабораторной работе
- •«Преобразование систем счисления»
- •2.1 Десятичная система счисления
- •2.2 Двоичная система счисления
- •2.3 Восьмеричная система счисления
- •3 Перевод из двоичной системы счисления в восьмеричную
- •3.1 Правила перевода из двоичной системы счисления в восьмеричную
- •3.2 Правила перевода дробной части числа из двоичной системы счисления в восьмеричную
- •3.3 Схема алгоритма преобразования
- •3.4 Таблица прокрутки алгоритма
- •4 Реализация алгоритма
- •4.1 Использование таблицы Word
- •4.2 Создание тестовых наборов
- •5 Заключение
- •Список использованных источников
4 Реализация алгоритма
Для преобразования можно воспользоваться различными способами. Один из них связан с использованием таблиц Word.
4.1 Использование таблицы Word
Один из вариантов связан с применением таблиц Word. Разработана таб-лица, которая может быть использована для преобразования чисел из десятичной системы в двоичную.
Ячейкам таблицы поставлены в соответствие определенные формулы. За основу построения формул взята следующая нумерация ячеек таблицы, как показано в таблице 3.
Таблица 3 – Нумерация ячеек
A1 |
B1 |
C1 |
D1 |
E1 |
A2 |
B2 |
C2 |
D2 |
E2 |
A3 |
B3 |
C3 |
D3 |
E3 |
A4 |
B4 |
C4 |
D4 |
E4 |
Разработанная таблица 4 реализует алгоритм, приведенный на рис. 1. В ячейке B2 реализовано вычисление значения старшего разряда двоичной триады. Ввод формулы осуществлялся в соответствующем окне, которое показано на рис. 2.
Рисунок 2 – Ввод формулы для ячейки В2
В ячейке C2 реализовано вычисление значения среднего разряда двоичной триады. Ввод формулы осуществлялся в соответствующем окне, которое показано на рис. 3.
Рисунок 3 – Ввод формулы для ячейки C2
В ячейке D2 реализовано вычисление значения младшего разряда двоичной триады. Ввод формулы осуществлялся в соответствующем окне, которое показано на рис. 4.
Рисунок 4 – Ввод формулы для ячейки D2
В ячейке E2 реализовано вычисление восьмеричного разряда соответствующего текущей двоичной триаде. Ввод формулы осуществлялся в соответствующем окне, которое показано на рис. 5.
Рисунок 5 – Ввод формулы для ячейки E2
В ячейке A3 реализовано вычисление оставшейся части двоичного числа. Ввод формулы осуществлялся в соответствующем окне, которое показано на рис. 6.
Рисунок 6 – Ввод формулы для ячейки A3
Дальнейшие ячейки повторяют начальные с соответствующим сдвигом.
Используется таблица следующим образом. Исходное число вводится вnячейку А2. Для пересчета содержимого выделяются те ячейки, которые необходимо пересчитать и нажимается клавиша F9.
Таблица 4 – Перевод дробного числа из двоичной системы в восьмеричную
Исходное число |
Первый разряд триады |
Второй разряд триады |
Третий разряд триады |
ai |
|
0,10111100101 |
4 |
0 |
1 |
5 |
a0 |
0,11100101 |
4 |
2 |
1 |
7 |
a1 |
0,00101 |
0 |
0 |
1 |
1 |
a2 |
0,01 |
0 |
2 |
0 |
2 |
a3 |
0,0 |
0 |
0 |
0 |
0 |
|
4.2 Создание тестовых наборов
Один из путей создания тестовых наборов связан с использованием калькулятора, который имеет несколько режимов отображения чисел в различных системах счисления. К сожалению, используемый калькулятор не позволяет напрямую работать с дробными числами в системах счисления отличных от десятичной. Чтобы введенное двоичное число перевелось в восьмеричную систему так же как, как должно переводится дробное, необходимо дополнить исходное число нулями справа до кратного трем количества цифр. Если сразу после разделителя разрядов в исходном числе стоит 0, то необходимо добавить слева три значащих разряда – 111, а в результирующем числе не учитывать получившуюся старшую цифру 7.
Пример использования калькулятора приведен на рис. 7. , а тестовый набор – в таблице 5.
Таблица 5 – Данные для тестирования таблицы преобразований
D2 |
A8 |
0,10111100101 |
0,5712 |
0,11100101 |
0,712 |
0,1110010001 |
0,7104 |
0,01011001 |
0,262 |
0,100100101 |
0,445 |
а)
б)
Рисунок 7 – Преобразование чисел с использованием калькулятора1
а) преобразование двоичного числа 0,101111001012
б) преобразование двоичного числа 0,11100100012