Регистрация Главная Сообщество
Сообщения за день Справка Регистрация
Навигация
Zhyk.org LIVE! Реклама на Zhyk.org Правила Форума Награды и достижения Доска "почета"

Ответ
 
Опции темы
Старый 24.02.2011, 18:03   #1
 Разведчик
Аватар для rak511
 
rak511 на правильном пути
Регистрация: 23.09.2010
Сообщений: 19
Популярность: 26
Сказал(а) спасибо: 12
Поблагодарили 8 раз(а) в 5 сообщениях
Отправить сообщение для rak511 с помощью Skype™
 
Smile Вот вам гайдик по битовым операциям;)

Применение битовых операций.
1. Если в регистре нужно установить бит применяем операцию сдвига.
Это особенно полезно в тех случаях,когда бит имеет имя.
Код:
<REG> |= (1 << <bit>);
2. Если нужно сбросить бит применяем ту же операцию но с ~.
Код:
<REG> &= ~(1 << <bit>);
Тоже самое можно сделать и другим способом
Код:
<REG> |= 0x04; //установили второй бит.
	<REG> |= 0b00000100; //установили второй бит.
3. На месте левого операнда в операции сдвига может быть целый байт или часть его.
Код:
<VAR> =  (0xF0 >> 4); // Здесь VAR =: 0x0F 
	<VAR> =  (0xFF >> 4); // Здесь VAR =: 0x0F
Из этих примеров видно что МЛ.ниббл теряется.
Это нужно в тех случаях когда нам нужен только СТ.ниббл.
4. Если нам нужно проверить конкретный бит в регистре мы применяем битовую маску.
Код:
<REG> & (1 << <bit>)
5. Битовая маска применяется с операцией И(&).
Код:
if(<REG> & (1 << <bit>)) //Маска маскирует нулём все биты кроме одного <bit>
...
6. т.к условие проверяется на неравенство нулю, то если бит =1 условие выполнено (true),
а если проверяем на наличие нуля, то используем операцию НЕ(!),операция небитовая.
Код:
if(!(<REG> & (1 << <bit>)))
...
7. Если нужно применить маску более чем с одним битом делаем следущее:
Код:
<VAR1> = <VAR> & 0xOF;   //Если VAR == 0xFF то VAR1 будет = 0x0F

фуух написал) если вы узнали чтото новое из этого поддержите автора
________________
тролли! идите лесом
F.A.Q для троллей тут>> [Ссылки могут видеть только зарегистрированные пользователи. ]

Последний раз редактировалось rak511; 24.02.2011 в 22:55.
  Ответить с цитированием
Пользователь сказал cпасибо:
stepnik (13.03.2011)
Ответ

Метки
битовые операции, язык с


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Руководство] гайдик по СБ alexei4ik Статьи и описания по Lineage 2 14 06.03.2011 23:05
[Руководство] Мини гайдик про Чат в pw <sawka> Статьи, квесты и описания по Perfect World 0 16.07.2010 14:55
[Помогите!] Гайдик на Eva Templar ramaz Общение и обсуждение, архив Lineage 2 3 03.06.2010 12:53
Гайдик действию в группах, в рамках ПвП серверов Lavign Статьи, квесты и описания по Perfect World 5 05.05.2010 00:26

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 18:22.

Пишите нам: [email protected]
Copyright © 2024 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net