русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

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


Дата добавления: 2014-03-21; просмотров: 1025; Нарушение авторских прав


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

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

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

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

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

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

Арифметическое устройство формирует специальное нечисло, называемое неопределенностью, реагируя на замаскированный особый случай недействительной операции. Оно имеет отрицательный знак, смещенный порядок 111...111, а мантисса равна 1.1000...00. Неопределенность предусмотрена для вычислительных ситуаций, в которых человек говорит "не знаю", например деление 0 на 0.

5). Неподдерживаемые форматы. Формат РТ имеет много двоичных наборов, которые не попадают ни в один из ранее рассмотренных классов.



Переменные вещественных (или действительных) типов определяются в языках Си/Си++ следующим образом:

float f1; // плавающий (вещественный) тип обычной точности (4 байта)

double d2; // плавающий тип двойной точности (8 байт)

long float LF; // то же, что double

long double Ld; // длинный плавающий двойной точности (10 байт)

 

Логический тип данных (в языке Паскаль – BOOLEAN) представляет одно из двух истинных логических значений (истина/ложь). Эти значения обозначаются посредством стандартных идентификаторов

true (истина);

false (ложь).

Над значениями булевского типа допускаются операции сравнения, причем считается, что false < true. Кроме того, имеются четыре стандартные логические операции, обозначаемые служебными словами:

and – логическое умножение;

or – логическое сложение;

xor – сложение по модулю 2 (исключающее или);

not – логическое отрицание.

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

В более поздних реализациях компиляторов языка Паскаль, например Турбо Паскаль 7.0, добавлено еще три логических типа: ByteBool (размер 1 байт), WordBool (размер – 2байта) и LongBool (размер 4 байта). Они введены для унификации с другими языками программирования и с операционной системой Windows. Отличие их от стандартного типа Boolean заключа­ется в фактической величине параметра этого типа. Значению FALSE соответствует число , записанное в соответствующее количество байтов. Значению же TRUE для типа BOOLEAN соответствует число 1, записанное в его байт, а для других типов значению TRUE соответствует любое число, отличное от нуля.

В ранних версиях языков Си и Си++ не было специального типа для представления логических значений. Все целые типы, включая символьные, могут использоваться для представления логических значений. Нулевое значение означает «ложь», любое ненулевое, включая отрицательное – «истина». В более поздних версиях языка Си++ введён логический тип bool, аналогичный типу boolean в Паскале.

 



<== предыдущая лекция | следующая лекция ==>
Вещественные числа | Назначение и смысл указателей


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.095 сек.