logo search
ЯП / ЯП / ЯП экзамен

Элементарные типы данных.

Типы данных

Для хранения данных используются ячейки памяти, объем одной ячейки кратен минимум 8 битам, минимальный для процессора объем одной ячейки называют машинным словом.

Зависит он от разрядности процессора.

Простые типы данных:

  1. Целочисленный тип данных. Числа со знаком представляются в виде дополнительного кода. Положительные – 0 и двоичный код, отрицательные – инверсия + 1. Самое большое положительное число 2^(w-1)-1. Самое маленькое это байт. 0-255. Машинно-независимые языки в них количество байт соответствующих им ячеек памяти строго фиксировано, не зависят от процессора на котором исполняется программа, и компилятора, который создал машинный код. Машинно-зависимые – кол-во ячеек памяти зависит от платформы, под которую компилируется. Операции над целыми числами + - * /. Получаемые значения ограничены диапазоном типа данных. Переполнение – полученное значение выходит за границы допустимого диапазона. Отбросит кратное число. Операция деления в современных языках программирования разделена на операцию получения целой части и получении остатка от деления. Операция умножения требует большего времени обработки на процессоре, чем остальные. Кроме того сохраняет результат в двух ячейках памяти, только потом обрезает до нужного типа данных.

  2. Символьный тип – полный аналог целочисленного типа. Char 256 символов. Для того чтобы сопоставить числам символы используются таблицы кодировки. Операции те же.

  3. Перечисляемый тип – таблица перечислений. Операции выполняются в контексте порядкового номера, соответствующих обозначений в таблице. Многие языки программирования требуют явной типизации значений типа перечислений при таких операциях.

  4. Булев тип – можно считать частным случаем перечисления, где значению false сопоставлен целочисленный 0, а все остальные числа трактуются как true.

  5. Подтипы – типы, значения которых ограничены некоторым диапазоном.

  1. Вещественные числа – 2 подхода 2ичного представления вещественных чисел.

    1. Согласно двоичной арифметике.

    2. Кодировать цифры числа как целое число дополняя информацию о позиции десятичного разделителя.

  1. Числа с фиксированной точкой (формат определяет что число содержит не более заданного кол-ва цифр n, в том числе не более заданного кол-ва цифр m после запятой). Для представления в памяти достаточно сохранить его целочисленное представление включая один бит знака и номер позиции десятичной точки. Достоинство – кол-во знаков после запятой определяет абсолютную погрешность. Недостатки – относительная погрешность есть переменная. Некоторые числа нельзя вписать в этот формат. Применяется когда точность заранее определена.

Числа с плавающей точкой. Х – вещественное число от 0 до 1. Кол-во знаков мантиссы определяет относительную погрешность. Очень широкий диапазон чисел. Низкая относительная погрешность.

Некоторые операции может произойти переполнение, или потеря значимости.