Lecture10 (Лекции по Технологии программирования. Компонентный подход), страница 4

PDF-файл Lecture10 (Лекции по Технологии программирования. Компонентный подход), страница 4 Основы программной инженерии (40584): Лекции - 6 семестрLecture10 (Лекции по Технологии программирования. Компонентный подход) - PDF, страница 4 (40584) - СтудИзба2019-05-12СтудИзба

Описание файла

Файл "Lecture10" внутри архива находится в папке "Лекции по Технологии программирования. Компонентный подход". PDF-файл из архива "Лекции по Технологии программирования. Компонентный подход", который расположен в категории "". Всё это находится в предмете "основы программной инженерии" из 6 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .

Просмотр PDF-файла онлайн

Текст 4 страницы из PDF

Его значения лежатмежду -27 и (27-1) (т.е. между -128 и 127)• short, чьи значения лежат в интервале -215 – (215-1) (-32768 – 32767)31•int, чьи значения лежат в интервале -2•long, чьи значения лежат в интервале -2– (231-1) (-2147483648 – 2147483647)63– (263-1) (-9223372036854775808 –9223372036854775807)В C# имеются беззнаковые аналоги всехперечисленных выше типов:свой тип byte со значениями от 0 до (28-1 =255).16ushort со значениями от 0 до (2 -1) = 6553532uint со значениями от 0 до (2 -1) = 429496729564ulong со значениями от 0 до (2 -1) =Классы-обертки целочисленных типовназываются так:18446744073709551615Типы-обертки целочисленных типовназываются так:java.lang.Bytejava.lang.Shortjava.lang.Integerjava.lang.LongSystem.SByteSystem.ByteSystem.Int16System.UInt16System.Int32System.UInt32System.Int64System.UInt64Минимальные и максимальные значенияпримитивных типов можно найти в их типахобертках в виде констант (static final полей)MIN_VALUE и MAX_VALUE.Минимальные и максимальные значенияпримитивных типов можно найти в их типахобертках в виде констант MinValue и MaxValue.Над значениями целочисленных типов определены следующие операции.•==, != — сравнение на равенство и неравенство.•<, <=, >, >= — сравнение на основе порядка.•+, -, *, /, % — сложение, вычитание, умножение, целочисленное деление, взятиеостатка по модулю.•++, -- — увеличение и уменьшение на единицу.

Если такой оператор написан дооперанда, то значение всего выражения совпадает с измененным значением операнда, еслипосле — то с неизмененным.В результате выполнения последовательности действийx = 1; y = ++x; z = x++;значение x станет равно 3, а значения y и z — 2.•~, &, |, ^ — побитовые операции дополнения, конъюнкции, дизъюнкции иисключающего ‘или’.•<<, >> — операторы, сдвигающие биты своего первого операнда влево и вправо на числопозиций, равное второму операнду.В Java оператор >> сдвигает вправо биты числа,дополняя его слева значением знакового бита —нулем для положительных чисел и единицейдля отрицательных.Специальный оператор >>> используется длясдвига вправо с заполнением освобождающихсяслева битов нулями.•В C# оператор >> сдвигает вправо биты числа,дополняя его слева для чисел со знакомзначением знакового бита, а для беззнаковыхчисел — нулем.Для операций +, -, *, /, %, ~, &, |, ^, <<, >> (и Java-специфичной операции >>>)имеются соответствующие операции присваивания.

При этом выражение x op= y, где op— одна из этих операций, эквивалентно выражению x = (T)((x) op (y)), где T — тип x,за исключением того, что значение x вычисляется ровно один раз.В Java результаты арифметических действийвычисляются в зависимости от типа этихрезультатов, с отбрасыванием битов,«вылезающих» за размер типа.В C# результат арифметических действий надцелочисленными данными, приводящих кпереполнению, зависит от контекста, в которомэти действия производятся.Таким образом, эти операции реализуютарифметику по модулю 2n для n, подходящегодля данного типа.Арифметические операции над целыми числамиприводят к созданию исключений только в трехслучаях: при делении на 0 или вычисленииостатка по модулю 0, при конвертации впримитивный тип ссылки на объект классаобертки, равной null, а также при исчерпаниидоступной Java-машине памяти, которое можетслучиться из-за применения операций -- и ++ содновременным созданием объектов классовоберток.Если действие происходит в uncheckedконтексте (т.е.

внутри блока или выражения,помеченных ключевым словом unchecked), товычисления производятся в арифметике поподходящему модулю 2n.Если же эти действия производятся в checkedконтексте (т.е. внутри блока или выражения,помеченных модификатором checked), топереполнение приводит к созданиюисключения.По умолчанию действия, производимые в ходевыполнения, происходят в unchecked контексте,а действия, которые выполняются надконстантами во время компиляции — в checkedконтексте. При этом создание исключения вовремя компиляции приводит к выдачесообщения об ошибке.Любые целочисленные типы можно явно приводить друг к другу, а неявные преобразованияпереводят из меньших типов в большие, если при этом нет перехода от типа со знаком кбеззнаковому (обратный переход возможен).В обоих языках целочисленным типом считается и тип char, чьими значениями являются 16битные символы (от '\u0000' до '\uffff').

Для него определен тот же набор операций, нопреобразования между ним и другими типами по умолчанию не производятся (явныепреобразования возможны).Типы чисел с плавающей точкойПредставление типов значений с плавающей точкой, float и double, а также операции с ними,соответствуют стандарту на вычисления с плавающей точкой IEEE 754 (он же —IEC 60559) [11,12]. Согласно этому стандарту значение такого типа состоит из знакового бита,мантиссы и экспоненты (у значения float 23 бита отводятся на мантиссу и 8 на экспоненту, уdouble — 52 бита на мантиссу и 11 на экспоненту).Помимо обычных чисел значения обоих типов включают -0.0 (кстати, написав так, выполучите обычный 0.0, поскольку этот текст будет воспринят как константа 0.0, к которойприменен унарный оператор -; единственный способ получить -0.0 — конвертировать его битовоепредставление — в шестнадцатеричном виде для типа float он представляется как 0x80000000, адля double — 0x8000000000000000), положительные и отрицательные бесконечности (для типаfloat это 0x7f800000 и 0xff800000, а для double — 0x7ff0000000000000 и 0xfff0000000000000),а также специальное значение NaN (Not-A-Number, не число; оно может быть представлено любымизначениями, у которых экспонента максимальна, а мантисса не равна 0).Для значений с плавающей точкой определены следующие операции.•==, != — сравнения на равенство и неравенство.

В соответствии с IEEE 754 NaN не равнони одному числу, в том числе самому себе. -0.0 считается равным 0.0.•<, <=, >, >= — сравнения на основе порядка. +∞ больше, чем любой обычное число и -∞,а -∞ меньше любого конечного числа. NaN несравнимо ни с одним числом, даже с самимсобой — это значит, что любая указанная операция возвращает false, если один из ееоперандов — NaN. -0.0 считается равным, а не меньше, чем 0.0.•+, -, *, /, % — сложения, вычитание, умножение, деление, взятие остатка по модулю, атакже соответствующие операции присваивания с одновременным выполнением одного изэтих действий. Все эти операции действуют согласно IEEE 754, кроме операциивычисления остатка, которая реализована так, чтобы при всех конечных a и b (b != 0)выполнялось a%b == a – b*n, где n — самое большое по абсолютной величине целоечисло, не превосходящее |a/b|, знак которого совпадает со знаком a/b.

По абсолютнойвеличине a%b всегда меньше b, знак a%b совпадает со знаком a.Согласно стандарту IEEE 754 все арифметические операции определены для бесконечныхаргументов «естественным» образом: 1.0/0.0 дает +∞, -1.0/0.0 дает -∞, 0.0/0.0 — NaN,конечное x в сумме с +∞ дает +∞, а +∞+(-∞) — NaN. Если один из операндов NaN, торезультат операции тоже NaN.•++, -- — увеличение и уменьшение на единицу. Для бесконечностей и NaN результатприменения этих операторов совпадает с операндом.В Java в классах java.lang.Float иjava.lang.Double есть константы, равныемаксимальному конечному значению типа,минимальному положительному значению типа,положительной и отрицательнойбесконечностям и NaN.-23127Float.MAX_VALUE = (2-2 )·2-149Float.MIN_VALUE = 2-591023Double.MAX_VALUE = (2-2 )·2-1074Double.MIN_VALUE = 2Бесконечности и NaN в обоих случаяхназываются POSITIVE_INFINITY,NEGATIVE_INFINITY и NaN.В C# соответствующие классы System.Single иSystem.Double также хранят эти значения ввиде констант MaxValue, Epsilon,PositiveInfinity, NegativeInfinity и NaN.В C# есть еще один тип для представлениячисел с плавающей точкой — decimal (типобертка для него называется System.Decimal).Значения этого типа представляются 128битами, из которых один используется длязнака, 96 — для двоичной мантиссы, еще 5 —для представления десятичной экспоненты,лежащей от 0 до 28.

Остальные биты неиспользуются.Представляемое знаком s (+1 или -1), мантиссойm (0–(296-1)) и экспонентой e (0–28) значениеравно (-1)s·m·10-e.Таким образом, значения этого типа могут, вотличие от стандартных типов float и double,представлять десятичные дроби с 28-ю точнымизнаками и используются для финансовыхвычислений. Такая точность необходима,поскольку в этих вычислениях ошибкиокругления в сотые доли процента принакоплении за счет больших сумм и большогоколичества транзакций в течение несколькихлет могут привести к значительным суммамубытков для разных сторон.Для типа decimal определены все те жеоперации, что и для типов с плавающей точкой,однако при выходе их результатов за рамкизначений типа создается исключительнаяситуация. Этот тип не имеет специальныхзначений -0.0, NaN и бесконечностей.В Java классы, методы и инициализаторы могутбыть помечены модификатором strictfp.

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