Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.12.2008, 23:26   #1
sum42
Пользователь
 
Регистрация: 15.11.2008
Сообщений: 33
По умолчанию оператор >> в C++

кто-нибудь может объяснить что конкретно делает оператор >> в C++.

есть один пример. Там используется api-функция GetLogicalDrives.

описание:
Функция GetLogicalDrives возвращает число-битовую маску в которой храняться все доступные диски.
DWORD GetLogicalDrives(VOID);

Параметры:
Эта функция не имеет параметров.

Возвращаемое значение:
Если функция вызвана правильно, то она возвращает число-битовую маску в которой храняться все доступные диски ( если 0 бит равен 1, то диск "A:" присутствует, и т.д. )
Если функция вызвана не правильно, то она возвращает 0.

Пример:
Код:
int n;
	char dd[4];
	DWORD dr = GetLogicalDrives();

	for( int i = 0; i < 26; i++ )
	{
		n = ((dr>>i)&0x00000001);
		if( n == 1 ) 
		{
			dd[0] =  char(65+i); dd[1] = ':'; dd[2] = '\\'; dd[3] = 0;
			cout << "Available disk drives : " << dd << endl;	
		}
	}
меня интересует строчка
Код:
n = ((dr>>i)&0x00000001);
объясните пожалуйста это выражение
sum42 вне форума Ответить с цитированием
Старый 24.12.2008, 17:27   #2
Sweta
Форумчанин
 
Регистрация: 22.11.2007
Сообщений: 664
По умолчанию

Сдвигает вправо на указанное количество разрядов и производит логическое умножение на 1. Например
dr равно 100011 =двоичный код, после >>2, этоткод будет
001000, после &000001, будет 0
Неприятности приходят и уходят, а жизнь продолжается!
Sweta вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
оператор перывания Altera Общие вопросы Delphi 7 20.12.2008 09:36
Оператор case Yermek Помощь студентам 3 12.10.2008 18:06
Оператор в с++ JOFRIF Помощь студентам 2 22.04.2008 18:12
Оператор цикла с предусловием While. Оператор цикла с пост условием Repeat McMilin Помощь студентам 7 11.11.2007 14:10
Оператор WITH Enko Общие вопросы Delphi 1 20.09.2007 20:36