Добавил:
anrakhmanowa@yandex.ru Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

2 сем / Рахманова А.А. Лабораторная работа_1_следование

.docx
Скачиваний:
21
Добавлен:
16.06.2023
Размер:
72.26 Кб
Скачать

при сдвиге значения разрядов просто отбрасываются (если вправо - деление нацело; влево - умножение)

3

9

=

0

0

1

0

0

1

1

1

N

O

T

3

9

=

1

1

0

1

1

0

0

0

1

0

6

=

0

1

1

0

1

0

1

0

N

O

T

3

9

=

1

1

0

1

1

0

0

0

1

0

6

O

R

(N

O

T

3

9)

=

1

1

1

1

1

0

1

0

-8

7

=

1

0

1

0

1

0

0

1

1

0

6

O

R

(N

O

T

3

9)

=

1

1

1

1

1

0

1

0

-8

7

A

N

D

1

0

6

O

R

(N

O

T

3

9)

=

1

0

1

0

1

0

0

0

-8

7

A

N

D

1

0

6

O

R

(N

O

T

3

9)

=

1

0

1

0

1

0

0

0

1

1

=

0

0

0

0

1

0

1

1

1

1

O

R

-8

7

A

N

D

1

0

6

O

R

(N

O

T

3

9)

=

1

0

1

0

1

0

1

1

=

1

7

1

Схема алгоритма решения

Начало

a = 87 & 11

Вывод

a

b = 87 ^ -11

Вывод

b

c = 87 >> 1

Ввод

c

d = 11 | -87 & (106 | ~39)

Вывод

d

Конец

Текст программы

//Выполнить поразрядные логические операции над машинными кодами

#include<stdio.h>

using namespace std ;

int main ()

{

    unsigned char a, b, c, d ;

a = 87 & 11 ;

printf("87 AND 11 = (3) = %i\n", a) ;

b = 87 ^ -11 ;

printf("87 XOR -11 = (162) = %i\n", b) ;

c = 87 >> 1 ;

printf("87 >> 1 = (43.5) = %i\n", c) ;

d = 11 | -87 & ( 106 | ~39 ) ;

printf("11 OR -87 AND (106 OR NOT 39) = (171) = %i\n", d) ;

    return 0;

}

Скриншот контрольного примера выполнения программы