Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...
Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...
Топ:
Теоретическая значимость работы: Описание теоретической значимости (ценности) результатов исследования должно присутствовать во введении...
Основы обеспечения единства измерений: Обеспечение единства измерений - деятельность метрологических служб, направленная на достижение...
Особенности труда и отдыха в условиях низких температур: К работам при низких температурах на открытом воздухе и в не отапливаемых помещениях допускаются лица не моложе 18 лет, прошедшие...
Интересное:
Принципы управления денежными потоками: одним из методов контроля за состоянием денежной наличности является...
Влияние предпринимательской среды на эффективное функционирование предприятия: Предпринимательская среда – это совокупность внешних и внутренних факторов, оказывающих влияние на функционирование фирмы...
Мероприятия для защиты от морозного пучения грунтов: Инженерная защита от морозного (криогенного) пучения грунтов необходима для легких малоэтажных зданий и других сооружений...
Дисциплины:
|
из
5.00
|
Заказать работу |
Содержание книги
Поиск на нашем сайте
|
|
|
|
В состав базовых типов данных любого языка программирования включаются такие типы, операции над значениями которых эффективно поддерживаются архитектурой компьютера.
В современных компьютерах имеется две основных формы представления данных:
· с фиксированной точкой (в русском переводе иногда употребляют термин "с фиксированной запятой", т. к. речь идет о разделителе, отделяющем целую часть числа от дробной части);
· с плавающей точкой (запятой).
Первый способ употребляется для хранения целых чисел, символов и логических значений. По этой причине в языках C/C++ все перечисленные типы данных относятся к целочисленным. Второй способ используется для хранения вещественных чисел либо целых чисел, имеющих очень широкий диапазон значений. Примерно такой набор базовых типов имеется во всех языках.
В представлении с фиксированной точкой целое число хранится в двоичной системе счисления, занимая столько байт памяти, сколько определено в конкретном компиляторе для его типа.
Например:
целое число 19 в двоичной форме с фиксированной точкой будет записано как 10011 (разложение по степеням двойки: 19=1×24+0×23+0×22+1×21+1×20). Один крайний бит отводится под знак числа (для положительного числа 0, для отрицательного 1), остальные незанятые биты заполняются нулями.
Представление с плавающей точкой в различных компьютерных архитектурах может быть реализовано по-разному, но в любом случае число рассматривается как произведение двух сомножителей, один из которых представляет собой число 2 в целой степени. Степень двойки определяет порядок числа, а первый из сомножителей определяет значащие цифры числа и называется мантиссой.
Например: вещественное число 15,375 в двоичной форме с плавающей запятой можно представить как 1,111011×211, где 1,111011 — мантисса, 11 — порядок (запись в двоичной форме).
В ячейке памяти, отводимой под число с плавающей точкой, находится два значения — мантисса и порядок.
Рассмотрим следствия, которые вытекают из рассмотренных способов хранения данных.
q Целочисленные типы в языке программирования — это интервал целых чисел. Операции над целыми числами определены лишь тогда, когда исходные данные и результат лежат в этом интервале. Иначе возникает ситуация, называемая переполнением. При целочисленном переполнении, как правило, не возникает ошибка выполнения программы, однако результат становится неверным. За исключением переполнения все операции над аргументами с фиксированной точкой выполняются точно (без погрешности).
q Все операции над данными с фиксированной точкой выполняются быстрее, чем над данными с плавающей точкой. В последнем случае значительное время тратится на операции выравнивания порядков (для возможности выполнения операции операнды должны иметь один и тот же порядок). В современных архитектурах компьютеров благодаря мощной аппаратной поддержке операций с плавающей точкой они выполняются уже не намного медленней, чем операции с фиксированной точкой.
q Вещественные числа, как и целые, представляются конечным множеством значений (хотя количество различных значений вещественных чисел так велико, что может показаться бесконечным).
q Каждое вещественное число будет иметь приблизительно одинаковое количество значащих цифр в его представлении, т. к. под мантиссу отводится фиксированное количество байтов. Как следствие этого, ошибка для очень больших чисел будет больше по абсолютной величине.
q Вещественные числа всегда представлены с некоторой погрешностью. Все операции над вещественными числами также выполняются с погрешностью. Поэтому нельзя сравнивать на равенство/неравенство вещественные числа обычным способом. Вместо этого можно сравнить модуль разности этих чисел с какой-нибудь достаточно малой величиной.
q Следует быть осторожным при выполнении операций между числами, порядки которых сильно отличаются, например, между очень большими и очень маленькими числами. Возможны ситуации, когда мантисса не сможет обеспечить требуемую точность. Например, при сложении чисел 10000000 и 0.00000001 типа float языка C разрядности мантиссы не хватит, чтобы представить число 10000000.00000001, и результат останется равным 10000000.
Замечание
Для уменьшения влияния ошибки округления при выполнении арифметических операций с вещественными числами необходимо иметь в виду следующее. Если складывается много чисел, то их необходимо разбить на группы чисел, близких по абсолютному значению, произвести суммирование в группах, начиная с меньшего числа, после чего полученные суммы сложить, опять-таки начиная с меньшей. Таким образом, при работе с вещественными числами при перестановке мест слагаемых сумма может измениться, и иногда значительно. Похожие рекомендации можно дать и для других арифметических операций.
|
|
|
Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...
Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим...
Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...
История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...
© cyberpediasu.com 2017-2026 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!