Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему Программирование на языке высокого уровня. Битовые операции

«Логические» vs. «битовые»Двоичные логические операцииотрицание (¬)конъюнкция (Λ или &) дизъюнкция (V) сложение по модулю два ( ⊕)Битовые операциипобитовое отрицаниепобитовое Ипобитовое ИЛИсложение по модулю двациклический сдвиг
Программирование  на языке высокого уровняЛекция 15. Битовые операцииКафедра АСОИУ ОмГТУ, 2013Богатов Р.Н. «Логические» vs. «битовые»Двоичные логические операцииотрицание (¬)конъюнкция (Λ или &) дизъюнкция (V) сложение Применение битовых операцийПроверка битов:Обнуление битов:Установка битов в единицу:Смена значений битов:Операции побитового циклического Языки программированияЛогические операцииПобитовые операцииif (a != 0 && b/a > 3){  ...} Побитовые чудеса…Больше «чудес»  на странице  bithacks.html (так её и ищите)// Пригождается:инверсия по маскеконтроль чётностиобмен значений переменныхспрайтовая графикакриптографияСложение по модулю 2 Шифрование файла{  FileStream f1 = new FileStream(textBox1.Text, FileMode.Open);  FileStream f2
Слайды презентации

Слайд 2 «Логические» vs. «битовые»
Двоичные логические операции
отрицание (¬)
конъюнкция (Λ или

«Логические» vs. «битовые»Двоичные логические операцииотрицание (¬)конъюнкция (Λ или &) дизъюнкция (V)

&)
дизъюнкция (V)
сложение по модулю два ( ⊕)

Битовые

операции
побитовое отрицание
побитовое И
побитовое ИЛИ
сложение по модулю два
циклический сдвиг

Слайд 3 Применение битовых операций
Проверка битов:

Обнуление битов:

Установка битов в единицу:

Смена

Применение битовых операцийПроверка битов:Обнуление битов:Установка битов в единицу:Смена значений битов:Операции побитового

значений битов:

Операции побитового циклического сдвига:




Рисуночки: © Планета информатики, www.inf1.info/bitwise-operations


Слайд 4 Языки программирования
Логические операции





Побитовые операции
if (a != 0 &&

Языки программированияЛогические операцииПобитовые операцииif (a != 0 && b/a > 3){ ...}

b/a > 3)
{
...
}


Слайд 5 Побитовые чудеса…



















Больше «чудес» на странице bithacks.html (так её и

Побитовые чудеса…Больше «чудес» на странице bithacks.html (так её и ищите)// Подсчёт

ищите)
// Подсчёт ненулевых битов. Без битовых операций
uint CountBits(uint x)
{

uint c = 0;
for (; x != 0; x /= 2)
if (x % 2 == 1) c++;

return c;
}

// Подсчёт ненулевых битов. Битовые операции ;-)
uint CountBits(uint x)
{
uint c = 0;
for (; x != 0; x >>= 1)
c += x & 1;

return c;
}

// Подсчёт ненулевых битов. Хитро-быстро 8-/
uint CountBits(uint x)
{
uint c = 0;
for (; x != 0; c++)
x &= x - 1;
return c;
}

// Подсчёт ненулевых битов. ЧТО ЭТО? 8-0
uint CountBits(uint x)
{
x = x - ((x >> 1) & 0x55555555);
x = (x & 0x33333333) + ((x >> 2) & 0x33333333);
return ((x + (x >> 4) & 0xF0F0F0F) * 0x1010101) >> 24;
}

// Вычисление бита чётности
bool ParityBit(uint x)
{
return (CountBits(x) % 2 != 0);
}

// Вычисление бита чётности. Оптимизация ;-)
bool ParityBit(uint x)
{
bool parity = false;
while (x != 0)
{
parity = !parity;
x = x & (x - 1);
}
return parity;
}

// Вычисление бита чётности. Эммм... 8-/
bool ParityBit(uint x)
{
x ^= x >> 16;
x ^= x >> 8;
x ^= x >> 4;
x &= 0xf;
return ((0x6996 >> (int)x) & 1) > 0;
}


Слайд 6




Пригождается:
инверсия по маске
контроль чётности
обмен значений переменных
спрайтовая графика
криптография
Сложение по

Пригождается:инверсия по маскеконтроль чётностиобмен значений переменныхспрайтовая графикакриптографияСложение по модулю 2

модулю 2 eXclusive OR
// обмен переменных

...
int t = x;
x = y;
y = t;
...

// обмен переменных // без посредника!!!
...
x = x^y;
y = x^y;
x = x^y;
...


  • Имя файла: programmirovanie-na-yazyke-vysokogo-urovnya-bitovye-operatsii.pptx
  • Количество просмотров: 90
  • Количество скачиваний: 0