Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Поразрядные операции




Формат

Мультипликативные операции.

* – умножение операндов арифметического типа.

/ – деление операндов арифметического типа.

При целочисленных операндах абсолютное значение результата округляется до целого.

Например: 20/3 равно 6,

–20/3 равно –6,

(–20)/3 равно –6,

20/(–3) равно –6.

% – получение остатка от деления целочисленных операндов (деление по модулю). При неотрицательных операндах остаток положительный. В противном случае остаток определяется реализацией. В компиляторе Turbo С у результата знак делимого:

13%4 равняется 1,

(–13)%4 равняется –1;

13%(–4) равно +1,

(–13)%(–4) равняется –1.

При ненулевом делителе для целочисленных операндов всегда выполняется соотношение (a/b)*b+a%b равно а.

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

 

Операции сдвига (определены только для целочисленных операндов).

<операнд_левый> <операция_сдвига><операнд_правый>

<< – сдвиг влево битового представления значения левого целочисленного операнда на количество разрядов, равное значению правого целочисленного операнда.

>> – сдвиг вправо битового представления значения левого целочисленного операнда на количество разрядов, равное значению правого целочисленного операнда.

E1>>E2, Е2 – число битов сдвига.

Результат не определен, если: Е2<0; значение Е2 >= размера Е1 в битах.

E1>>E2 эквивалентно Е1 / (2E2)

E1<<E2 эквивалентно Е1 * 2E2

Пример:

4<<2 равняется 16. двоичный код для 4 равен 100,

5>>1 равняется 2. двоичный код для 5 – это 101.

При сдвиге влево на две позиции код 100 становится равным 10000 (десятичное значение равно 16). Остальные результаты операций сдвига могут быть прослежены аналогично.

Обратите внимание, что сдвиг влево на n позиций эквивалентен умножению значения на , а сдвиг кода вправо уменьшает соответствующее значение в раз с отбрасыванием дробной части результата (Поэтому 5>>1 равно 2).

 

& – поразрядная конъюнкция (И) битовых представлений значений целочисленных операндов.

| – поразрядная дизъюнкция (ИЛИ) битовых представлений значений целочисленных операндов.

^ – поразрядное исключающее ИЛИ битовых представлений целочисленных операндов.

 

Пример: Результат выполнения операций сдвига и поразрядных операций:

6&5 равняется 4.

6|5 равняется 7.

6^5 равняется 3.

Напоминаем, что двоичный код для 5 – это 101, для 6 – 110 и т.д.

 




Поделиться с друзьями:


Дата добавления: 2014-01-05; Просмотров: 358; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




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