Главная » Просмотр файлов » Г. Шилдт - С# 3.0 Полное руководство. 2010

Г. Шилдт - С# 3.0 Полное руководство. 2010 (1160798), страница 22

Файл №1160798 Г. Шилдт - С# 3.0 Полное руководство. 2010 (Г. Шилдт - С# 3.0 Полное руководство. 2010) 22 страницаГ. Шилдт - С# 3.0 Полное руководство. 2010 (1160798) страница 222019-09-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Ниже перечислены составные операторы присваивания для арифметических и логических операций. Составные операторы присваивания записываются более кратко, чем их несоставные эквиваленты. Поэтому иногда их еще называют укороченными опврагпорами присваивания. У составных операторов присваивания имеются два главных преимущества. Вопервых, они более компактны, чем их "несокращенные" эквиваленты. И во-вторых, они дают более эффективный исполняемый код, поскольку левый операнд этих операторов вычисляется только один раз. Именно по этим причинам составные операторы присваивания чаще всего применяются в программах, профессионально написанных на С№.

Поразрядные операторы Таблица 4.1. Поразрядные операторы Оператор Значение Поразрядное И Поразрядное ИЛИ Поразрядное исключающее ИЛИ Сдвиг вправо Сдвиг влево Дополнение до 1 (унарный оператор НЕ) » « В С№ предусмотрен ряд поразрядньст операторов, расширяющих круг задач, для решения которых можно применять С№. Поразрядные операторы воздействуют на отдельные двоичные разряды (биты) своих операндов.

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

Все доступные в С№ поразрядные операторы приведены в табл. 4.1. 104 часть (. язык Сз Поразрядные операторы И, ИЛИ, исключающее ИЛИ и НЕ Поразрядные операторы И, ИЛИ, исключающее ИЛИ и НЕ обозначаются следующим образом: а, (, " и -. Оии выполняют те же функции, что и их логические аналоги, рассмотренные выше. Но в отличие от логических операторов поразрядные операторы действуют иа уровне отдельных двоичных разрядов.

Ниже приведены результаты поразрядиых операций с двоичными единицами и нулями. Р ч РаЧР)ЧРЧ "Р С точки зрения наиболее распространенного применения поразрядную операцию И можно рассматривать как способ подавления отдельных двоичных разрядов. Это озиачает, что если какой-нибудь бит в любом из операндов равен О, то соответствующий бит результата будет сброшен в О. Например: 1101 0011 д 1010 1010 1000 0010 В приведенном ниже примере программы демонстрируется применение поразрядного оператора а для преобразования нечетных чисел в четные. Для этой цели достаточно сбросить младший разряд числа. Например, число 9 имеет следующий двоичный вид: 0000 1001.

Если сбросить младший разряд этого числа, то оио станет числом 8, а в двоичиой форме — 0000 1000. // Применить поразрядный оператор и, чтобы сделать // число четным. пятпЧ Зуясевк с1аяя МакеЕчеп ( ясаг1с но1б матп() ( пявогс ппкп пявогс 1) тот(1 = 1к 1 <= 10к 1++) ( ппв = 1; Сопяо1е.игасеьвпе("ппв: " + ппв); пив = (ияпогс) (пчв а ОхггГЕ) Сопяо1е.игдсеьтпе("ппв после сброса младшего разряда: " + пив ь "1п")) ) ) ) Глава 4. Операторы 105 Результат выполнения этой программы приведен ниже. пов: 1 пов после сброса младшего разряда: 0 пов: 2 пов после сброса младшего разряда: 2 пов: 3 пов после сброса младшего разряда: 2 пов: 4 пов после сброса младшего разряда: 4 пнв: 5 пов после сброса младшего разряда: 4 пвп: б пов после сброса младшего разряда: б пов: 7 ппв после сброса младшего разряда: б пвэ: 8 пов после сброса младшего разряда: 8 пив: 9 пнв после сброса младшего разряда: 8 ппв: 10 ппв после сброса младшего разряда: 10 Шестнадцатеричное значение Охррре, используемое в поразрядном операторе И, имеет следующую двоичную форму: 1111 1111 1111 1110.

Таким образом, поразрядная операция И оставляет без изменения все двоичные разряды в числовом значении переменной ппв, кроме младшего разряда, который сбрасывается в нуль. В итоге четные числа не претерпевают никаких изменений, а нечетные уменьшаются на 1 и становятся четными. Поразрядным оператором И полезно также пользоваться для определения установленного или сброшенного состояния отдельного двоичного разряда. В следующем примере программы определяется, является ли число нечетным: // Применить поразрядный оператор и, чтобы определить, // является ли число нечетным.

озапЧ буэтев) с1аээ 1эббб ( эсасгс чо10 Маьп() ( оэьогс пнет ппв = 10) 11((ппв б 1) == 1) Сопэо1е.иггпеььпе("Не выводится.") 106 часть!. язык Сз пощ = 11; 18((пощ а 1) == 1) Сопзо1е.иктвеЬ1пе(пща + " — нечетное число.") Вот как выглядит результат выполнения этой программы: 11 — нечетное число. В обоих операторах 1г приведенной выше программы выполняется поразрядная операция И над числовыми значениями переменной пощ и 1.

Если младший двоичный разряд числового значения переменной ппщ установлен, т.е. содержит двоичную 1, то результат поразрядной операции ппщ а 1 оказывается равным 1. В противном случае он равен нулю. Поэтому оператор 1 г может быть выполнен успешно лишь в том случае, если проверяемое число оказывается нечетным. Возможностью проверять состояние отдельных двоичных разрядов с помощью поразрядного оператора а можно воспользоваться для написания программы, в которой отдельные двоичные разряды проверяемого значения типа ьусе приводятся в двоичной форме. Ниже показан один из способов написания такой программы. // Показать биты, составляющие байт. оз1пд Бузеещ) с1азз зьонвьоз ( зсас1с тоти иа1п () ( ьпп С; Ьупе та1) та1 = 123," сот(С=1281 С > О) С = С/2) ( ьг((та1 а с) != 0) сопзо1е.нтьсе("1 ")( ьг((та1 а с) == 0) сопзо1е.ню)се("0 ")) ) ) Выполнение этой программы дает следующий результат: 01111011 В цикле гог в приведенной выше программе каждый бит значения переменной уа1 проверяется с помощью поразрядного оператора И, чтобы выяснить, установлен ли этот бит или сброшен.

Если он установлен, то выводится цифра 1, а если сброшен, то выводится цифра О. Поразрядный оператор ИЛИ может быть использован для установки отдельных двоичных разрядов. Если в 1 установлен какой-нибудь бит в любом из операндов этого оператора, то в 1 будет установлен и соответствующий бит в другом операнде. Например: 1101 0011 ! 1010 1010 1111 1011 Глава 4. Операторы 107 Используя поразрядный оператор ИЛИ, можно без особого труда превратить упоминавшийся выше пример программы, преобразующей нечетные числа в четные, в приведенный ниже обратный пример, где четные числа преобразуются в нечетные. // Применить поразрядный оператор ИПИ, чтооы сделать // число нечетная<.

ияьпч зуяпев) с1аяя Ма)теес(с( ( яеап1с чоьб Маьп() ( ия)тоге пив( ияьогс 1; Гог(1 = 1т 1 <= 1О; 1++) пив = ).; Сопво1е.нг1пе11пе("пив: " + пив)) пвп = (ияпогп) (пив ( 1)т Сопяо1е.иг1пеь1пе("пив после установки младшего разряда: пвп ь "1п") т Результат выполнения этой программы выглядит следующим образом: пив: 1 пив после установки младшего разряда: 1 пив: 2 пив после установки младшего разряда: 3 пив: 3 пив после установки младшего разряда: 3 пив: 4 пив после установки младшего разряда: 5 тплп: 5 пив поппе установки младшего разряда: 5 пив: б пив после установки младшего разряда: 7 пшп: 7 пив после установки младшего разряда: 7 пив: 8 пив после установки младшего разряда: 9 тпля: 9 пив после установки младшего разряда: 9 108 Часть (.

Язык 0№ ппш: 10 пиш после установки младшего разряда: 11 В приведенной выше программе выполняется поразрядная операция ИЛИ иад каждым числовым значением переменной ппщ и 1, поскольку 1 дает двоичное значение, в котором установлен младший разряд. В результате поразрядиой операции ИЛИ иад 1 и любым другим значением младший разряд последнего устанавливается, тогда как все остальные разряды остаются без изменения.

Таким образом, результирующее числовое значение получается нечетным, если исходное значение было четным. Поразрядный оператор исключающее ИЛИ устанавливает двоичный разряд операнда в том и только в том случае, если двоичиые разряды сравниваемых операндов.

оказываются разными, как в приведенном ниже примере. 01111111 " 10111001 11000110 У поразрядного оператора исключающее ИЛИ имеется одно интересное свойство, которое оказывается полезным в самых разных ситуациях. Так, если выполнить сначала поразрядную операцию исключающее ИЛИ одного значения х с другим значением у, а затем такую же операцию результата предыдущей операции и значения у, то вновь получится первоначальное значение х.

Это означает, что в приведеииом ниже фрагменте кода П)=Х" У) пг = а1 " у; значение переменной п2 оказывает в итоге таким же, как и значение переменной х. Следовательно, в результате двух последовательно выполняемых поразрядных операций исключающее ИЛИ, в которых используется одно и то же значение, получается первоиачальиое значение.

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

Тип файла
DJVU-файл
Размер
6,78 Mb
Тип материала
Высшее учебное заведение

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

Г. Шилдт - С# 3.0 Полное руководство
C_sharp_3TCR_code
Apndx.lst
Chap2.lst
Chap3.lst
Chap4.lst
Chap5.lst
Chap6.lst
Chap7.lst
Chap8.lst
Chap9.lst
Chap10.lst
Chap11.lst
Chap12.lst
Chap13.lst
Chap14.lst
Chap15.lst
Chap16.lst
Chap17.lst
Chap18.lst
Chap19.lst
Chap20.lst
Chap21.lst
Chap22.lst
Chap23.lst
Chap24.lst
Chap25.lst
Chap26.lst
Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6455
Авторов
на СтудИзбе
305
Средний доход
с одного платного файла
Обучение Подробнее