Форум программистов, компьютерный форум, киберфорум C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
7 / 7 / 4
Регистрация: 20.06.2012
Сообщений: 129
Записей в блоге: 4
1

Для чего нужны подразрядные операторы

22.06.2012, 11:27. Показов 1223. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день, изучаю C# по книге Шилдта. Дошел до главы "Подразрядные операторы" и не совсем понимаю о чем идет речь. Может кто может сказать популярным языком для чего они нужны? Какая сфера применения?

Как пример далее идет программа для определения четности/нечетности с помощью подразрядных операторов:
C#Выделить код
1
2
3
4
5
6
7
8
9
10
11
12
using System; 
class IsOdd { 
   static void Main() { 
      ushort num; 
      num = 10; 
      if((num & 1) == 1) 
         Console.WriteLine("He выводится."); 
      num = 11; 
      if((num & 1) == 1) 
         Console.WriteLine(num + " — нечетное число."); 
   } 
}
Мне не ясна логика строки if((num & 1) == 1)
num имеет целочисленное значение 10, как к нему можно применять логический оператор & 1. Именно, вот это 10 & 1 вводит в ступор. Как это решать? Тут ни арифметика (из-за логического оператора) и ни логика (из-за целочисленных значений).
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.06.2012, 11:27
Ответы с готовыми решениями:

Для чего квадратные скобки, в которые заключаются операторы
подскажите люди добрые что значит такая запись void TraceMethod() {} содержимое...

Для чего нужны делегаты
Добрый день. Может кто-нибудь объяснить для чего нужны делегаты и привести пример. Уже кучу книг...

Для чего нужны делегаты?
Никак не могу понять, зачем нужны делегаты. Есть на форуме люди, желающие помочь новичку самоучке...

Для чего нужны интерфейсы
Люди уже около полу года проглю на C# и до сих пор не могу понять зачем нужны интерфейсы , где их...

5
2184 / 1254 / 143
Регистрация: 28.04.2010
Сообщений: 4,592
22.06.2012, 11:45 2
это побитовое "и"
http://ru.wikipedia.org/wiki/%... _.28AND.29
0
7 / 7 / 4
Регистрация: 20.06.2012
Сообщений: 129
Записей в блоге: 4
22.06.2012, 12:08  [ТС] 3
anonimus, тэнкс. Я понял логику на страничке в википедии.
0011 & 0101 = 0001 - применяем логическое И к каждой паре битов на одинаковых позициях.

А как быть с 10 & 1 ? Одной пары нету, видимо 1 преобразовать в 01. Так?
Тогда:
10 & 01 = 00 или 0.
11 & 01 = 10

Но такой результат не сходится с результатом программы описанной выше. Видимо я не до конца понял. Обьясните на примере выше описанной программы.

Оффтоп: поправьте вашу подпись, "никто" пишется слитно.
0
2184 / 1254 / 143
Регистрация: 28.04.2010
Сообщений: 4,592
22.06.2012, 12:13 4
Цитата Сообщение от oblomingo Посмотреть сообщение
11 & 01 = 10
почему равно 10 ?

10 & 1 = 0
11 & 1 = 1

1010
0001
=
0000

--------
1011
0001
=
0001
1
145 / 142 / 11
Регистрация: 11.09.2011
Сообщений: 417
22.06.2012, 12:23 5
10 = 1010
1 = 0001
---
11 = 1011

(dec) 10 & 1 = (bin) 1010 & 0001 = (bin) 0000 = (dec) 0 (выражение (10 & 1) == 1 ложно)
(dec) 11 & 1 = (bin) 1011 & 0001 = (bin) 0001 = (dec) 1 (выражение (11 & 1) == 1 истинно)
1
7 / 7 / 4
Регистрация: 20.06.2012
Сообщений: 129
Записей в блоге: 4
22.06.2012, 12:52  [ТС] 6
Все понятно! Я num (10 или 11) не переводил в десятичную систему - отсюда и непонимание. Большое спасибо за помощь! (выставляю плюсы)
0
22.06.2012, 12:52
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.06.2012, 12:52
Помогаю со студенческими работами здесь

Для чего нужны делегаты
Форумчане не подскажете где и для чего нужны делегаты? Перечитал много книг ни как не могу догнат?...

Для чего нужны суффиксы?
Здравствуйте. Начал изучать программирование практически с нуля, если не считать Бейсик из...

Для чего нужны object sender и this
using System; using System.Collections.Generic; using System.Linq; using System.Text; using...

Для чего нужны Windows - службы?
Для чего нужны Windows - службы? Ещё 1 тупой вопрос - вот говорят,что C++,C - языки для системного...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru