Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
C-fakepathELEMENT PROGRAMMIROVANIYA LAST.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.01 Mб
Скачать

17 Вопрос .Операции с целыми числами

Здесь имеется операция деления и определения остатка.

11 % 4 = 3 11 / 4 = 2 7 % 3 = 1 7 / 3 = 2 26 / 5 = 5 26 % 5 = 1

18. Арифметическое и (&).

Операция выполняются над отдельными битами по следующим правилам.

1 & 1 = 1        1 & 0 = 0        0 & 1 =0         0 & 0 = 0

Пример.

#include <stdio.h> int main () { int A, B;    A=13;    B=23;    printf("\n%d\n", A & B); }

Каждое из чисел А=13 и В=23 представляются в двоичном представлении 0000000000001101 и 0000000000010111. Далее выполняется операция И (&)

&   0000000000001101    0000000000010111    0000000000000101

Результат представляется в десятичном представлении.Имеем 13 & 23 = 5. 19. Арифметическое ИЛИ (|)

По следующим правилам

1 | 1 = 1        1 | 0 = 1        0 | 1 =1            0 | 0 = 0

Пример :

#include <stdio.h> int main () { int A, B;    A=13;    B=23;    printf("\n%d\n", A | B) }

Имеем

|   0000000000001101     0000000000010111     0000000000011111 В десятичной системе 13 | 23 =31.

20 . Арифметическое исключающее ИЛИ (^)

По следующим правилам

1 ^ 1 = 0      1 ^ 0 = 1         0 ^ 1 =1          0 ^ 0 = 0

|   0000000000001101     0000000000010111     0000000000011010

В десятичной системе 13 ^ 23 =26.

21 Вопрос * Арифметичекое отриц.,сдвиг влево,сдвиг вправо

Арифметическое отрицание (~).

Каждый бит инвертируется              0000000000001101 ~a        1111111111110010 В десятичной системе имеем ~13=-14.

Сдвиг влево (M << L).

Целое число M смещается влево на L позиций влево.

Пример

17 << 3.

17 в двоичной системе 00010001, После смещения влево на 3 позиции получим 10001000, в десятичной системе 136. То есть 17 << 3 =136. Отметим что смещение влево на 1 позицию означает умножение на 2 на две

позиции на 4 То есть M << L равно M.2L. Смещение вправо M >> L.

Смещение вправо M >> L. Пример 25 >> 2. 25 в двоичной системе 11011 .После смещения вправо на 2 позиции получим 00110, т.е. 6. Отметим что смещение вправо на 1 позицию означает деление на 2 , на две позиции на 4 , то есть M >>L равно M /2L.

22 Вопрос * Логические операции и отношения

Эти операции выполняются над логическими данными. Имеются два логических значения (TRUE) и (False). В языке C 1 это true, 0 это false . В С++ появился новый тип данных bool . Результатом логических операций являются (TRUE,1) или (FALSE, 0). В C имеются операции ИЛИ (||), И(&&), Отрицание (!) (таблица).

Логические операции

A

B

!A

A&&B

A||B

0

0

1

0

0

0

1

1

0

1

1

0

0

0

1

1

1

0

1

1

Операция ?

Для программирования разветвления можно использовать следующую структуру:

Условие ? Выражение 1: выражение 2;

Если условие верно вычисляется 1 выражение , в противном случае 2 выражение

Пример . y=x<0 ? –x: x;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]