Хелпикс

Главная

Контакты

Случайная статья





Практична робота №2. ПОРОЗРЯДНІ (ПОБІТОВІ) ОПЕРАЦІЇ. Теоретичні відомості. amp; - Операція  І (AND). Приклад. Приклад. Операція АБО (OR). Приклад. Приклад. Виключаюче АБО (XOR)



Практична робота №2

ПОРОЗРЯДНІ (ПОБІТОВІ) ОПЕРАЦІЇ

 

Теоретичні відомості

 

      Це операції, що здійснюються над комірками пам’яті, що містять дані типу char та int. Дані типів float, double, long double та інші складні не можуть приймати участь у порозрядних операціях.

& І  (побітова кон’юнкція)
| АБО (побітова диз’юнкція)
^ виключаюче АБО (додавання за mod2)
~ НІ (заперечення)
>> Зсув вправо
<< Зсув вліво

 

      & - Операція  І (AND)

 

      Якщо біт одного з операндів =0, то відповідний біт результату буде =0, незалежно від значення відповідного біта іншого операнда.

      Таблиця істинності:

& =
& =
& =
& =

Приклад

A=5

B=12

A&B=?

Розв’язання:

  A = (5)10 = (0101)2

  B = (12)10 = (1100)2

  A&B = (0101)2 & (1100)2 = (0100)2 = (4)10

Програма

    #include "stdafx.h"

#include <locale.h>

#include <conio.h>

int main()

{

setlocale(0,"");

int A, B;

printf("\nВедіть A: A = ");

scanf_s("%d",&A);

printf("\nВедіть B: B = ");

scanf_s("%d",&B);

printf("\nA & B = %d",A&B);

getch();

return 0;

}

      Операція & може бути використана для очищення (занулення) бітів.

Приклад

  Очистити біти 2 і 5 у числа 66.

Розв’язання

1. Переводимо число у двійкову форму:(66)10 = (1000010)2

2. Готуємо маску: (1101101)2 = (109)10

3. Накладаємо маску на число:

       (1000010)2

  (1101101)2

&----------

       (1000000)2

4. Результат: 66 & 109 = 64

 

| - Операція АБО (OR)

 

      Якщо біт хоча б одного з операндів =1, то відповідний біт результату буде =1, незалежно від значення відповідного біта іншого операнда.

      Таблиця істинності:

| =
| =
| =
| =

Приклад

A=5

B=12

A|B=?

Розв’язання:

  A = (5)10 = (0101)2

  B = (12)10 = (1100)2

  A|B = (0101)2 |(1100)2 = (1101)2 = (13)10

      Операція | може бути використана для встановлення бітів.

Приклад

  Встановити біти 2 і 5 у числа 66.

Розв’язання

1. Переводимо число у двійкову форму:(66)10 = (1000010)2

2. Готуємо маску: (1101101)2 = (109)10

3. Здійснюємо операцію:

       (1000010)2

  (1101101)2

|----------

       (1101111)2

4. Результат: 66 | 109 = 111

 

^ - Виключаюче АБО (XOR)

    Встановлення біта результата в 1, якщо відповідні біти результатів різні.

      Таблиця істинності:

^ =
^ =
^ =
^ =


  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.