Главная страница
Навигация по странице:

  • ОТЧЕТ по лабораторной работе № 1 « И ССЛЕДОВАНИЕ ВНУТРЕННЕГО ПРЕДСТАВЛЕНИЯ РАЗЛИЧНЫХ ФОРМАТОВ ДАННЫХ »

  • Лабораторная работа № 1. «ИССЛЕДОВАНИЕ ВНУТРЕННЕГО ПРЕДСТАВЛЕНИЯ РАЗЛИЧНЫХ ФОРМАТОВ ДАННЫХ»

  • Общие положения

  • Задание на лабораторную работу

  • Блок-схема алгоритма

  • Схема аппаратных средств

  • ЭВМ. Лаб1. Отчет по лабораторной работе 1 исследование внутреннего представления различных форматов данных


    Скачать 273.72 Kb.
    НазваниеОтчет по лабораторной работе 1 исследование внутреннего представления различных форматов данных
    Дата09.11.2019
    Размер273.72 Kb.
    Формат файлаdocx
    Имя файлаЛаб1.docx
    ТипОтчет
    #94219
    страница1 из 2
      1   2

    Федеральное государственное автономное образовательное учреждение

    высшего образования «Санкт-Петербургский государственный электротехнический университет «ЛЭТИ»

    им. В.И. Ульянова (Ленина)»

    кафедра Вычислительной Техники

    ОТЧЕТ

    по лабораторной работе № 1

    «ИССЛЕДОВАНИЕ ВНУТРЕННЕГО ПРЕДСТАВЛЕНИЯ РАЗЛИЧНЫХ ФОРМАТОВ ДАННЫХ »

    Выполнили : Семёнова Д.В.

    Кириллова Е.К.

    Группа № : 7373

    Преподаватель : Гречухин М. Н.

    Санкт-Петербург

    2018

    Лабораторная работа 1.

    «ИССЛЕДОВАНИЕ ВНУТРЕННЕГО ПРЕДСТАВЛЕНИЯ РАЗЛИЧНЫХ ФОРМАТОВ ДАННЫХ»

    Цель работы: знакомство с внутренним представлением различных типов данных, используемых компьютером при их обработке.

    Общие положения

    При программировании на языке С++ используются 11 стандартных типов данных. Среди них можно выделить 3 группы:

    1. данные символьные и целого типа беззнаковые (с фиксированной запятой);

    2. данные символьные и целого типа со знаком (с фиксированной запятой), значения которых хранятся в двоичном дополнительном коде;

    3. данные вещественного типа (с плавающей запятой (точкой)).

    Числовое значение данных первой группы занимает всю разрядную сетку (количество двоичных разрядов от 8 до 32), отведенных под конкретный тип. Знак числа данных второй группы занимает старший (левый) разряд, а остальную часть разрядной сетки (от 7 до 31 двоичных разрядов) занимает числовое значение данных, отведенных под конкретный тип. Формат хранения данных третьей группы описывается IEEE - стандартом в виде значения мантиссы (M) со знаком (S) и значения порядка (P). Число бит для хранения мантиссы и порядка зависит от типа данных с плавающей запятой.

    float

    S

    P

    M

    31 30 23 22 0

    double

    S

    P

    M

    63 62 52 51 0

    long double

    S

    P

    M

    79 78 64 63 0

    Вещественное число в памяти хранится с нормализованной мантиссой, значение которой в десятичном эквиваленте лежит в диапазоне от 1 до 2. Причём 2 не входит в границу диапазона. Если в процессе выполнения какой-либо операции над данными с плавающей запятой значение мантиссы выходит из указанного диапазона, то в конце операции выполняется нормализация результата путем приведения значения мантиссы к указанному диапазону с соответствующим изменением значения порядка. Но если мантисса всегда нормализована, то старший её бит, то есть единицу, можно и не хранить в памяти. Стандартом предложено этот бит не хранить в памяти и тем самым увеличить точность представления вещественных чисел в 2 раза. Отбрасывание старшей цифры мантиссы выполняется для форматов float и double, но не выполняется для long double.

    Порядок числа в соответствии с указанным форматом хранится «сдвинутым», то есть к его действительному значению добавляется в зависимости от формата такое число, чтобы порядок Р был всегда неотрицательным. Для формата float прибавляется 127, для чисел формата double прибавляется 1023, а для формата long double добавляется 16383. Всегда неотрицательный порядок упрощает выполнение операции сравнения порядков и арифметических операций над ними, а также избавляет от необходимости выделять один бит для хранения знака порядка.

    Задание на лабораторную работу

    1. Написать программу, которая выводит на экран двоичное представление в памяти ЭВМ (все разряды) целого числа, как положительного, так и отрицательного. При выводе визуально обозначить знаковый разряд и значащие разряды (отступом, цветом и т. п.).

    2. Написать программу, которая выводит на экран двоичное представление в памяти ЭВМ (все разряды) числа типа float и double. При выводе визуально обозначить знаковый разряд мантиссы, знаковый разряд порядка (если есть), мантиссу и порядок.

    3. Написать программу, позволяющую изменить произвольные биты в целом числе и числе типа float на 1 или 0 по указанию пользователя (номер бита и значение вводятся с клавиатуры)

    Блок-схема алгоритма:





    Схема аппаратных средств:


      1   2


    написать администратору сайта