Учебное пособие Самара 2015 + 004. 43 Ббк 32. 973 Н 19
Download 1.98 Mb.
|
Lekcii AiSD 2015
Специальные числовые значения
К специальным значениям относятся денормализованные вещественные числа, нули, отрицательные и положительные бес- конечности, нечисла, неопределенность и неподдерживаемые форматы. Для представления специальных значений зарезерви- рованы минимальный 00000... 00 и максимальный 111...11 сме- щенные порядки. Денормализованные вещественные числа. Это числа, которые меньше минимального нормализованного числа для ка- ждого вещественного формата. Такие числа имеют минимальный смещенный порядок и ненулевую мантиссу. lcmunnый пули. Значение нуль в вещественных и деся- тичном форматах является знаковым, а двоичный целый нуль всегда положительный. В вычислениях знак нуля не учитывается, и обычно программист может не заботиться о наличии знакового нуля. Нуль в вещественных форматах кодируется с нулевым смещенным порядком 0000...00 и такой же мантиссой (0.000..00). Бесконечность. Вещественные форматы поддерживают знаковые представления бесконечностей. Эти значения кодиру- ются со смещенным порядком из всех единиц 1111...11 и мантис- сой 1.000...00. Знаки бесконечностей учитываются и сравнения Нечисла. Нечисло является представителем класса спе- циальных значений, существующих только в вещественных фор- матах. Оно имеет смещенный порядок из всех единиц (1111...11), любой знак и любую мантиссу за исключением 1.000..00. Арифметическое устройство формирует специальное нечис- ло, называемое неопределенностью, реагируя на замаскирован- ный особый случай недействительной операции. Оно имеет от- рицательный знак, смещенный порядок 111...111, а мантисса рав- на 1.1000...00. Неопределенность предусмотрена для вычисли- тельных ситуаций, в которых человек говорит «не знаю», напри- мер деление 0 на 0. В некоторых операционных системах, например, UNIX, не- числа обозначаются как NaN (Not а Number — не число) и исполь- зуются как возвращаемые значения функций или в операциях сравнения. 28
Неподдерживаемые форматы. Формат 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 байт) Представление и структуры хранения логической инфор- Логический тип данных (в языке Паскаль — 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 в Паскале. Download 1.98 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling