Uploaded by SkyOwner

Двоичное представление чисел в памяти ЭВМ

advertisement
МИНОБРНАУКИ РОССИИ
САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ
ЭЛЕКТРОТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
«ЛЭТИ» ИМ. В.И. УЛЬЯНОВА (ЛЕНИНА)
Кафедра информационных систем
ОТЧЕТ
по практической работе №1
по дисциплине «Программирование»
Тема: «Двоичное представление чисел в памяти ЭВМ»
Студент гр.
Преподаватель
Санкт-Петербург
2019
Цель работы.
Определить то, как число представляется в памяти ЭВМ. Разобраться, что
такое прямой, обратный и дополненный код. Разобраться, что такое порядок,
мантисса и нормализованная мантисса. Узнать методы проверки вводимых
данный на корректность.
Основные теоретические положения.
Перевод десятичного целого и десятичного вещественного числа в
двоичное представление [1].
Целая часть переводится либо методом деления на два либо методом
побитового сдвига влево [2].
Дополнительный код для отрицательного числа можно получить
инвертированием его двоичного модуля (первое дополнение) и прибавлением к
инверсии единицы (второе дополнение), либо вычитанием числа из нуля [4].
Дробная часть переводится посредством домножения дробной части на
два.
Перевод числа обратно из двоичного представления в десятичное
происходит посредством функции pow() – возведение в степень.
Нормализованный вид мантиссы – так сместить порядок, чтобы число
слева от запятой было всегда равно только 1 [3].
Постановка задачи.
1.
Разработать алгоритм и написать программу, которая выводит на
экран двоичное представление в памяти ЭВМ (все разряды) целого числа ( int,
shotint, unsignedint). При выводе необходимо визуально обозначить знаковый
разряд (отступом) и значащие разряды (цветом);
2.
Разработать алгоритм и написать программу, которая выводит на
экран двоичное представление в памяти ЭВМ (все разряды) числа типа float,
2
double. При выводе необходимо визуально обозначить знаковый разряд
мантиссы, знаковый разряд порядка (если есть), мантиссу и порядок;
Выполнение работы.
Написать программу, которая получает число, введенное с клавиатуры,
проверяет корректность ввода, и выводит на экран представление данного числа
в памяти ЭВМ в отформатированном виде. Также программа должна выводить
инвертированные биты и полученное из этого десятичное число.
Проверка на «дурака». Проверка, является ли введенное значение числом,
если да, то зациклить до бесконечности ввод числа.
Рисунок 1 - Скриншот работы программы
Для представления целого отрицательно числа в памяти ЭВМ не
достаточно просто поменять 1-й бит с 0 на 1. Надо еще перевести из прямого в
обратный и дополнительный код.
Дробная часть вещественного числа переводится методом домножения, а
не деления, как в случае с целой частью.
3
Порядок числа должен быть указан со смещением, чтобы он был всегда
положительный.
Мантисса должна быть представлена в нормализованном виде и не забыть
откинуть 1-ую цифру слева от запятой, т.к. в нормализованном виде она всегда
равна 1.
4
Список использованных источников.
1. Как перевести число
2. Сс и перевод дробного десятичного числа в дв. систему счисления
3. Нормализация двоичных чисел
4. Дополнительный код
5
Download