МИНОБРНАУКИ РОССИИ САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ ЭЛЕКТРОТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ «ЛЭТИ» ИМ. В.И. УЛЬЯНОВА (ЛЕНИНА) Кафедра информационных систем ОТЧЕТ по практической работе №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