Хелпикс

Главная

Контакты

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





gt;>  і << - Операції зсуву вправо і вліво



Приклад

A=5

B=12

A^B=?

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

  A = (5)10 = (0101)2

  B = (12)10 = (1100)2

  A|B = (0101)2 |(1100)2 = (1001)2 = (9)10

Приклад

  Знайти суму за модулем 2 чисел 66 і 109.

Розв’язання

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

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

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

       (1000010)2

  (1101101)2

^----------

       (0101111)2

4. Результат: 66 ^ 109 = 47

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

>>  і << - Операції зсуву вправо і вліво

      Зсуває всі біти на певну кількість розрядів вправо або вліво. При цьому лівий або правий кінець заповнюється нулями.

Приклад.

  (66)10 >> 2 = (1000010)2 >> 2 = (0010000)2 = (16)10

  (66)10 << 2 = (1000010)2 << 2 = (100001000)2 = (264)10

    Розглянемо послідовний зсув вправо

         Таблиця 1 – Результати виконання операцій зсуву

unsigned char x Результат зсуву x
x=128
x=x>>1
x=x>>2
x=x>>3
x=x>>4
x=x>>5
x=x>>6
x=x>>7
     
x=3
x=x<<1
x=x<<2
x=x<<3
x=x<<4
x=x<<5
x=x<<6

 

 


    Зсув на 1 біт вліво множить число на 2, в зсув вправо – ділить на 2.

      Операціі >> і << дозволяють швидкo множити і ділити цілі числа.

~ - Операція доповнення (НІ)      

          Здійснює інвертування бітів, тобто перетворює 0 в 1, а 1 в 0.

      Часто використовуються в операціях кодування.

Приклад.

  А =(66)10

      ~A = ~(1000010)2 = (0111101)2 = (61)10

  ~~A = ~(0111101)2 = (100010)2 = (66)10 = A


Варіанти індивідуальних завдань

1. Обчислити R=А&B і перевірити переведенням в десяткову СЧ.

2. Обчислити R=A|B і перевірити переведенням в десяткову СЧ.

3. Обчислити R=A^B, Q=R^B і перевірити переведенням в десяткову СЧ.

4. Обчислити R=~A, Q= ~R.

5. Обчислити A>>c, B>>d і перевірити діленням.

6. Обчислити A<<d, B<<c і перевірити множенням.

7. * Розробити програму для виконання будь-якої порозрядної операції.

8. ** Розробити программу, яка виводить на екран таблицю 1 для довільного додатного числа.

№ варіанта A B c d

 



  

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