Главная » Просмотр файлов » Т. Пратт, М. Зелковиц - Языки программирования - разработка и реализация (4-е издание_ 2002)

Т. Пратт, М. Зелковиц - Языки программирования - разработка и реализация (4-е издание_ 2002) (1160801), страница 58

Файл №1160801 Т. Пратт, М. Зелковиц - Языки программирования - разработка и реализация (4-е издание_ 2002) (Т. Пратт, М. Зелковиц - Языки программирования - разработка и реализация (4-е издание_ 2002)) 58 страницаТ. Пратт, М. Зелковиц - Языки программирования - разработка и реализация (4-е издание_ 2002) (1160801) страница 582019-09-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 58)

Поэтому битовые операции также определены через целые числа: Бнтоп . целое х целое -т целое В С имеются операции для побитовых логических н ($), нлн (!), сдвига битов (<е) и некоторые другие, Реализация. Чаще всего определенный в языке целочисленный тип данных реализуется при помощи аппаратнот.о представления целых чисел и набора эле- ментарных арифметических операций и операций сравнения, реализованных ап- паратурой компьютера. На рис. 5.3 представлены три возможных способа представления целых чисел.

В первом случае дескриптор типа отсутствует, в объекте содержится только само значение числа, Это представление допустимо, если в языке предусмотрены объяв- ления и статический контроль ти|тов для целочисленных объектов данных. Во вто- ром случае дескриптор хранится в специально выделенной области памяти вместе с указателем местоположения фактического значения, Такой способ используется, в частности, в языке т.г5 Р.

Недостаток этого представления заключается в том, что требуемый для хранения одного целого числа объем памяти может увеличиться вдвое; к достоинствам можно отнести использование для хранения числа встроен- ного аппаратного представления, что позволяет применять встроенные в аппарат- ную часть компьютера арифметические операции. Третий способ заключается в там, чтобы хранить число и дескриптор вместе, в одной ячейке памяти.

Для этого приходится уменьшить размер целого числа (то есть количество бит в его представлении) настолько, чтобы освободилось место для дескриптора. В таком варианте получается выигрыш в отношении требуемого объема памяти, зато при использовании встроенных в аппаратуру арифметических операций требуется 5.2. Скалярные типы данных 207 сначала удалить дескриптор, затем выполнить операцию и после этого снова вставить дескриптор. Таким образом, для выполнения одной-единственной арифметической операции требуется осуществить целый ряд аппаратных действий, что приводит к снижению эффективности. Такой способ удобен только для реализованных в аппаратной части дескрипторов, что в настоящее время встречается довольно редко. Знаковый бит числа Двоичное представление целого числа ДЕСКРИПТОР ОТСУТСТВУЕТ Дескриптор, описывающий тип числа ДЕСКРИПТОР ХРАНИТСЯ В ОТДЕЛЬНОМ СЛОВЕ Дес опис тип числа Двоичное представление ДЕСКРИПТОР ХРАНИТСЯ В ТОМ ЖЕ СЛОВЕ Рис.

В.З. Три способа представления в памяти целых чисел Поддиапазоны Спецификация. Поддиапазоп целых чисел представляет собой подтип целого типа и содержит последовательность целых чисел из некоторого ограниченного нх диапазона (например, это могут быть числа от 1 до 10 илн от — 5 до 50). Для опрелелсния подтипа часто используется объявление вида А; 1. 10 (Рааса!) илп А 1пге0ег гап0е 1..10 (Ас1а). Для элементов типа поддиапазоп определены теже операции, что и для всего целочисленного типа; таким образом, такой подтип является частью базового целочисленного гнила.

Реализация. Поддиапазоньг оказывают двоякое влияние па реализацию. 1. Уменьшаются затраты памяти. Так как прн использовании поддиапазона необходимо представлять только часть возможных значений целых чисел, то для хранения влемеитов этого подтипа требуется меньший объем памяти, чем для обычных целых чисел, то есть элементы этого типа могут быть представлены меньшим количеством бит. Например, для представления целых чисел из поддиапазона 1..10 требуется только четыре бита, в то время как для полного представления пелых чисел на стандартном компьютере может потребоваться 16, 32 или более бит. Тем не монсе, поскольку арифметические операции с укороченными целыми числами могут по- 208 Глава 5.

Элементарные типы данных требовать программ ного молел ирования, при реализации таких чисел обычно используются минимальные по размеру последовательности бит, для которых в аппаратной части компьютера предусмотрены арифметические операции. Обычно это 8- или 16-битовые последовательности. Например, в С символы хранятся как 8-битовые целые числа, лействия нал которыми можно выполнить непосредственно при помощи команд большинства микропроцессоров. 2.

Улучшается контроль шипов. Если персмещщя обьявлена как относящаяся к некоторому подлиапазону, то проверка значений, которые присваиваются этой переменной, становится более точной. Например, если переменная Мап1И объявлена как МопгИ: 1..12, то операция присваивания Мапгь ;= ь ошибочна, что обнаруживается во время компиляции. Если же переменная Ион~И объявлена просто как целочисленная, то приведенная операция присваивания формально оказывается правильной и программисту придется отыскивать эту ошибку уже при тестировании программы. Тем не менее далеко не всегда проверка полтипа может осуществляться во время компиляции. Если проверка затрагивает какое-либо вычисляемое значение, например Иопть = Моп',П + 1 она произойдет только при выполнении программы, когда станет понятно, пе выходит ли полученное значение переменной Моп1 И за пределы значений поддиапазона.

В таком случае требуется, чтобы во время выполнения программы были известны грашщы поддиапазона (например, Иоп1п = 12 допустимо, а Иоп1П = 13 нелопустимо). Вещественные числа с плавающей точкой Спецификация. Вещественные числа с плавающей точкой обычно определяются одним атрибутом, например атрибутом геа1 в языке ЕОВТВА)ч1 или 11оа1 в языке С. Как и в случае целочисленного типа, все допустимые значения вещественного типа формируют упорядоченную последовательность вещественных чисел нз диапазона, обусловленного ~~~~~~~~~~~~~ аппаратной ~~~~~ компьютера от минимального отрицательного значения до максимального положительного, но в отличие от целых чисел вещественные числа распределены в этом диапазоне неравномерно, В некоторых языках, например в Лда, требуемая для представления вещественных чисел то*щость может быть указана программистом в терминах количества значащих цифр в десятичном представлении, Для вещественных чисел обычно предусмотрены те же операции Гприсваивание, арифметические операции и операции сравнения), что и для целых, хотя иногда набор операций отношения может быть ограничен.

Из-за проблем, связанных с округлением, точного равенства двух вещественных чисел редко удается достичь. Если в программе имеется цикл, выход из которого обусловлен равенством вещественных чисел, такая программа может пикогла не завершиться. По этой причине разработчик языка может, в принципе, запретить операцию проверки равенства двух вещественных чисел. Помимо перечисленных опера- 5.2.

Скалярные типы данных 209 ций в большинстве языков определены в виде встроенных функций такие опера- ции, как з1п (синус) или мах (максимальное из двух значений вещественных чи- сел): ю и: зекестзенное т зевестзечное вах: зецественное х веаестзенное -т вевественное Знаковый бит числа вый би тичная | Знаковый бит экспоненты Экспонента Мантисса Подразумеваемая десятичная тачка ВЕЩЕСТВЕННОЕ ЧИСЛО СФИКСИРОВАННОЙ ТОЧКОЙ ВЕЩЕСТВЕННОЕ ЧИСЛО С ПЛАВАЮЩЕЙ ТОЧ~ОЙ Первые К Знаковый бит числа Подразумеваемая десятичная точка Пара вещественных чисел, расположенных в смежных областях памяти КОМПЛЕКСНОЕ ЧИСЛО РАЦИОНАЛЬНОЕ ЧИСЛО Рис. 5.4.

Представление вещественного числа 1,5 без дескрипторов реализация. Хранение в памяти компьютера вещественных чисел с плавающей точкой обычно основано на аппаратном представлении, причем отводимая для хранения вещественных чисел область памяти разбивается на две части (см. рис. 5.4): манпшсу (в ней хранятся значащие цифры) и экспоненту (в ней хранится показатель степени). Такой способ хранения эмул пруст математическую запись, в которой любое вещественное число может быть представлено как к = з1 х 2', где 21(3 Глава 5. Элементарные типы данных в — некоторое число из промежутка от 0 ло 1, а к — целое число.

Общепринятыи определением формата вещественных чисел с плавающей точкой стал стандарт )ЕЕЕ 5гапг)агг( 7754 [55~ (см. пример 5.4). Пример 5.4. (ЕЕЕ формат чисел с плавающей точкой Стандарт! ЕЕЕ 754 определяет и 32-битовое, и 64-битовое представления чисел с пла- вающей точкой. 32-битовое представление выглядит следующим образом; Знак (3) Экспонента (Е) Мантисса (М) 23 Числа представлены с помощью трех полей: + 5 — однобитовое поле, хранящее знак числа. Значение 0 соответствует положительным числам; + 5 — зкспонента со сдвигом на величину 127.

Характеристики

Список файлов книги

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6418
Авторов
на СтудИзбе
307
Средний доход
с одного платного файла
Обучение Подробнее