Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Дополн. к лекции 2,3.doc(программирование).doc
Скачиваний:
12
Добавлен:
10.06.2015
Размер:
443.39 Кб
Скачать
      1. Типы чисел с плавающей запятой

Стандарт IEEE 754-1985 определяет

  • Представление нормализованных положительные и отрицательные числа с плавающей точкой.

  • Представление нормализованных положительные и отрицательные числа с плавающей точкой.

  • Представлениенулевыхчисел,

  • Представление специальной величины - бесконечность (Infiniti),

  • Представление специальной величины "Не число" (NaN – No a Number),

IEEE 753-1985 определяет 4 формата представления чисел с плавающей запятой:

  • с одинарной точностью (single-precision) 32 бита,

  • с двойной точностью (double-precision) 64 бита,

  • с одинарной расширенной точностью (single-extended precision) >=43 бит (редко используемый),

  • с двойной расширенной точностью (double-extended precision) >= 79 бит (обычно используют 80 бит).

Основное применение в технике и программирование получили форматы 32 и 64 бита. Например, в С# используют типы данных single и double.

Основные понятия в представлении чисел с плавающей точкой.

Возьмем, к примеру, десятичное число 155.625. Представим это число в нормализованном экспоненциальном виде: 1.55625*102=1.55625e+2.

Число 1.55625e+2 состоит из двух частей: мантиссы M=1.55625 и экспоненты e =+2.

Нормализованные числа Если мантисса находится в диапазоне 1<=M<2 то число считается нормализованным.

Денормализованные числа. Это числа, мантиссы которых лежат в диапазоне 0.1 <= M <1 Денормализованные числа находятся ближе к нулю, чем нормализованные. Денормализованные числа как бы разбивают минимальный разряд нормализованного числа на некоторое подмножество. Сделано так потому, что в технической практике чаще встречаются величины близкие к нулю.

Экспонента представлена основанием системы исчисления (в данном случае 10) и порядком (в данном случае +2). Порядок экспоненты может иметь отрицательное значение, например число 0,0155625=1,55625e-2.

Формальное представление нормализованных чисел в формате IEEE 754.

  • S - бит знака числа (0 - положительное число; 1 - отрицательное число).

  • E - смещенная экспонента (смещение для устранения знака порядка). Порядок = E - 2(b-1) + 1 , где E- экспонента двоичного нормализованного числа с плавающей точкой, 2(b-1)-1 - смещение экспоненты.

  • M - остаток мантиссы двоичного нормализованного числа с плавающей точкой (Первый бит мантиссы всегда 1, поэтому он скрывается).

      1. Значения типов по умолчанию

В приведенной ниже таблице показаны значения по умолчанию типов значений, возвращаемые конструкторами по умолчанию.

Помните, что в C# не допускается использование неинициализированных переменных.

Тип

Значение по умолчанию

bool

false

byte

0

char

'\0' – код с номером 0

decimal

0,0M

double

0,0D

float

0,0F

int

0

long

0L

sbyte

0

short

0

uint

0

ulong

0

ushort

0

      1. Преобразования типов

Все вычисления происходят с использованием типа double. Другие типы чисел могут применяться для уменьшения занимаемой памяти. При их использовании перед вычислением они преобразуются в тип double. Различают преобразования:

  • Неявные преобразования используются для совместимых типов. Значения источника полностью отображаются приемником. Например, при преобразовании int в double (int – подмножество double). Такое преобразование выполняется автоматически, его не надо заказывать.

  • Явные преобразования используются для несовместимых типов. Например, при преобразовании double в int (int – подмножество double). Значения источника не полностью отображаются приемником. Если типы несовместимы, но ошибка допустима, то преобразование возможно, но его нужно явно заказать: для этого перед преобразуемым выражением добавляется префикс идентификации конечного типа (в круглых скобках).

Например,

double db=12.94;

int i = (int) db;