Читаем C++ полностью

Бинарная операция * определяет умножение. Операция * ассоциативна и выражения с несколькими умножениями на одном уровне могут быть реорганизованы компилятором. Бинарная операция / определяет деление. При делении пложительных целых округление осуществляется в сторону 0, но если какой-либо из операндов отрицателен, то форма округления является машинно зависимой. На всех машинах, охватываемых данным руководством, остаток имеет тот же знак, что и делмое. Всегда истиинно, что (a/b)*b + a%b равно a (если b не 0).

Бинарная операция % дает остаток от деления первого вражения на второе. Выполняются обычные арифметические преоразования. Операнды не должны быть числами с плавающей токой.

<p>7.4 Аддитивные Операции</p>

Аддитивные операции + и – группируют слева направо. Выполняюься обычные арифметические преобразования. Каждая операция имеет некоторые дополнительные возможности, связаные с типами.

аддитивное_выражение: выражение + выражение выражение – выражение

Результатом операции + является сумма операндов. Можно суммировать указатель на объект массива и значение целого тпа. Последнее во всех случаях преобразуется к смещению адреса с помощью умножения его на длину объекта, на который указывет указатель. Результатом является указатель того же типа, что и исходный указатель, уазывающий на другой объект того же массива и соответствующим образом смещенный от первоначальнго объекта. Так, если P есть указатель на объект массива, то выражение P+1 есть указатель на следующий объект массива.

Никакие другие комбинации типов для указателей не допутимы.

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

Результатом операции – является разность операндов. Выполняюься обычные арифметические преобразования. Кроме тго, значение любого целого типа может вычитаться из указатля, в этом случае применяются те же преобразования, что и к сложению.

Если вычитаются указатели на объекты одного типа, то рзультат преобразуется (посредством деления на длину объекта) к целому, представляющему собой число объектов, разделяющих объекты, указанные указателями. В засисимости от машины рзультирующее целое может быть или типа int, или типа long, см. #2.6. Вообще говоря, это преобразование будет давать нопределенный результат кроме тех случаев, когда указатели указывают на объекты одного массива, поскольку указатели, дже на объекты одинакового типа, не обязательно различаются на величину, кратную длине объекта.

<p>7.5 Операции Сдвига</p>

Операции сдвига «„ и “» группируют слева направо. Обе выполняют одно обычное арифметическое преобразование над свими операндами, каждый из которых должен быть целым. В этом случае правый операнд преобразуется к типу int; тип результта совпадает с типом левого операнда. Результат неопределен,

если правый операнд отрицателен или больше или равен длине объекта в битах.

сдвиговое_выражение: выражение «„ выражение выражение “» выражение

Значением Е1 «„ Е2 является Е1 (рассматриваемое как бтовое представление), сдвинутое влево на Е2 битов; освободишиеся биты заполняются нулями. Значением Е1 “» Е2 является Е1 , сдвинутое вправо на Е2 битовых позиций. Гарантируется, что сдвиг вправо является логическим (заполнение нулями), если Е1 является unsigned; в противном случае он может быть арифметчевким (заполнение копией знакового бита).

<p>7.6 Операции Отношения</p>

Операции отношения (сравнения) группируют слева направо, но этот факт не очень-то полезен: a « b « c не означает то, чем кажется.

выражение_отношения: выражение « выражение выражение » выражение выражение «= выражение выражение »= выражение

Операции « (меньше чем), » (больше чем), «= и »= все дют 0, если заданное соотношение ложно, и 1, если оно истинно. Тип результата int. Выполняются обычные арифметические преоразования. Могут сравниваться два указателя; результат завсит от относительного положения объектов, на которые указывют указатели, в адресном пространстве. Сравнение указателей переносимо только если указатели указывают на объекты одного массива.

<p>7.7 Операции Равенства</p>

выражение_равенства: выражение == выражение выражение != выражение

Операции == и != в точности аналогичны операциям сравнния за исключением их низкого приоритета. (Так, a«b == c«d есть 1 всегда, когда a«b и c«d имеют одинаковое истинностное значение.)

Указатель может сравниваться с 0.

<p>7.8 Операция Побитовое И</p>

И-выражение: выражение amp; выражение

Операция amp; ассоциативна, и выражения, содержащие amp;, мгут реорганизовываться. Выполняются обычные арифметические преобразования; результатом является побитовая функция И опрандов. Операция применяется только к целым операндам.

<p>7.9 Операция Побитовое Исключающее ИЛИ</p>

исключающее_ИЛИ_выражение: выражение ^ выражение

Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных