Учебное пособие Самара 2015 + 004. 43 Ббк 32. 973 Н 19


Download 1.98 Mb.
bet9/53
Sana15.08.2023
Hajmi1.98 Mb.
#1667321
TuriУчебное пособие
1   ...   5   6   7   8   9   10   11   12   ...   53
Bog'liq
Lekcii AiSD 2015

Специальные числовые значения

К специальным значениям относятся денормализованные вещественные числа, нули, отрицательные и положительные бес- конечности, нечисла, неопределенность и неподдерживаемые форматы. Для представления специальных значений зарезерви- рованы минимальный 00000... 00 и максимальный 111...11 сме- щенные порядки.



  1. Денормализованные вещественные числа. Это числа, которые меньше минимального нормализованного числа для ка- ждого вещественного формата. Такие числа имеют минимальный смещенный порядок и ненулевую мантиссу.

  2. lcmunnый пули. Значение нуль в вещественных и деся- тичном форматах является знаковым, а двоичный целый нуль всегда положительный. В вычислениях знак нуля не учитывается, и обычно программист может не заботиться о наличии знакового нуля. Нуль в вещественных форматах кодируется с нулевым смещенным порядком 0000...00 и такой же мантиссой (0.000..00).

  3. Бесконечность. Вещественные форматы поддерживают знаковые представления бесконечностей. Эти значения кодиру- ются со смещенным порядком из всех единиц 1111...11 и мантис- сой 1.000...00. Знаки бесконечностей учитываются и сравнения





  1. Нечисла. Нечисло является представителем класса спе- циальных значений, существующих только в вещественных фор- матах. Оно имеет смещенный порядок из всех единиц (1111...11), любой знак и любую мантиссу за исключением 1.000..00.

Арифметическое устройство формирует специальное нечис- ло, называемое неопределенностью, реагируя на замаскирован- ный особый случай недействительной операции. Оно имеет от- рицательный знак, смещенный порядок 111...111, а мантисса рав- на 1.1000...00. Неопределенность предусмотрена для вычисли- тельных ситуаций, в которых человек говорит «не знаю», напри- мер деление 0 на 0.
В некоторых операционных системах, например, UNIX, не- числа обозначаются как NaN (Not а Number — не число) и исполь- зуются как возвращаемые значения функций или в операциях сравнения.

28


  1. Неподдерживаемые форматы. Формат PT имеет много двоичных наборов, которые не попадают ни в один из ранее pac— смотренных классов.

Переменные вещественных (или действительных) типов оп— ределяются в языках Си/Си++ следующим образом:
f 1oни f 1; // плавающий (вещественный) тип обычной точности (4 байта)
doub1e d2 ; // плавающий тип двойной точности (8 байт) long f 1oни LF; // то же, что doub 1е (в некоторых реали-
зациях компиляторов языка Си++, например, GCC, тип 1onq f 1oни может не поддерживаться, что может привести к ошибке)
long double L d; // длинный плавающий двойной точно- сти (10 байт)



          1. Представление и структуры хранения логической инфор-

Логический тип данных (в языке Паскаль — BOOLEAN) представляет одно из двух истинных логических значений (исти- на/ложь). Эти значения обозначаются посредством стандартных идентификаторов
true (истина);
false (по кь).
Над значениями булевского типа допускаются операции сравнения, причем считается, что false true. Кроме того, име- ются четыре стандартные логические операции, обозначаемые служебными словами:
and — логическое умножение; or логическое сложение;
xor — сложение по модулю 2 (исключающее или); not — логическое отрицание.
Для запоминания логического значения достаточно одного бита. Однако с целью убыстрения доступа к логическому значе- нию его представление в памяти может быть избыточным.
В более поздних реализациях компиляторов языка Паскаль, например Турбо Паскаль 7.0, добавлено еще три логических ти- па: ByteBool (размер 1 байт), WordBool (размер 2 байта) и
29
LongBool (размер 4 байта). Они введены для унификации с дру- гими языками программирования и с операционной системой Windows. Отличие их от стандартного типа Boolean заключается в фактической величине параметра этого типа. Значению FALSE соответствует число записанное в соответствующее количество байтов. Значению же TRUE для типа BOOLEAN соответствует число 1, записанное в его байт, а для других типов значению TRUE соответствует любое число, отличное от нуля.
В ранних версиях языков Си и Си++ не было специального типа для представления логических значений. Все целые типы, включая символьные, могут использоваться для представления логических значений. Нулевое значение означает «ложь», любое ненулевое, включая отрицательное — «истина». В более поздних версиях языка Си++ введён логический тип too 1, аналогичный типу too 1ea n в Паскале.




        1. Download 1.98 Mb.

          Do'stlaringiz bilan baham:
1   ...   5   6   7   8   9   10   11   12   ...   53




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling