Микропроцессорные устройства



Download 3,03 Mb.
Pdf ko'rish
bet36/72
Sana25.02.2022
Hajmi3,03 Mb.
#282885
1   ...   32   33   34   35   36   37   38   39   ...   72
Bog'liq
mpus up

6.2 Операторы сдвига 
Оператор сдвига битов имеет следующий синтаксис: 
C = (a << b), вернее a << b

где 
a
– это то число, двоичное представление которого нужно сдвинуть, а 
b
по-
казывает, на сколько бит нужно его сдвинуть. 
При этом возможна потеря значения, хранящегося в 

(т. е. не всегда 
возможно восстановить из 
С
то, что было в 
а
). 
Рассмотрим пример 1: 
C = (9 << 3); 
Число 9 в двоичном коде будет выглядеть как 0000 1001, а после сдвига 
влево на 3 бита получим С = 0100 1000. 


70 
Это может использоваться для арифметического умножения на 
2/4/8/16/32… 
То есть С = 0100 1000 = 72. 
Если 72 / 8, то получим начальное число 9. 
Аналогично существует и сдвиг вправо, используемый так же, как деле-
ние на 2/4/8/16/32.... 
Рассмотрим пример 2: 
char
C; 
… 
C = ((0xFF << 2) >> 2); 
Сначала выполнится действие во внутренних скобках (0xFF – это 255 в 
шестнадцатеричном коде), из 11111111 получится 11111100, потом произойдет 
сдвиг вправо и получим С = 00111111. Как видим, здесь две взаимно обрат-
ные операции привели к другому числу, т. к. мы потеряли два бита. Этого не 
произошло бы, если бы переменная С была типа int, т. к. int занимает 16 бит. 
Рассмотрим еще два битовых оператора, широко применяющихся при 
программировании МК (табл. 6.2). Это операторы «побитовое И» (&) и «поби-
товое ИЛИ» (|). 
Таблица 6.2 – Операторы сдвига языка Си 
Действие 
Результат
 
Описание 
С 0

// C = 00000000
Установить в 0 
C
(
)
1
5
 

(1
2)

| (1
0)

// C = 00100101 
Установить в единицу 0, 2, 5-й би-
ты 
C
(1
)
|
3
 
// C = 00101101 
Добавить единицу к 3-му биту 
C&
0xF
(
)
0
2


// C = 00101100 
Очистить 2 младших (правых) 
бита 
C
C &
(
4 3
) |

// C = 00000111 
Выполнить логическую операцию 

Download 3,03 Mb.

Do'stlaringiz bilan baham:
1   ...   32   33   34   35   36   37   38   39   ...   72




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish