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

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

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

ОПЕРАЦИЯ ?

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

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

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

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


23 вопрос * Приоритеты операций и стандарт. математические функ.

 

Приоритеты операций

Вопрос .Операции с целыми числами - student2.ru

Имя функции Математическое определение
abs(x) Абсолютная величина
fabs(x) Абсолютная величина для вещественного аргумента
sin(x) Sin
cos(x) Cos
tan(x) tg
atan(x) Arctg Вопрос .Операции с целыми числами - student2.ru
atan2(y,x) Arctg Вопрос .Операции с целыми числами - student2.ru в интервале Вопрос .Операции с целыми числами - student2.ru
sinh(x) Гиперболический sin
cosh(x) Гиперболический cos
tanh(x) Гиперболический tg
exp(x) ex
log(x) ln(x), x>0
log10(x) Десятичный log10(x), x>0
pow(x,y) xy. Не допустимы если х=0, y≤0 или x<0 и y –не целые
sqrt(x) Вопрос .Операции с целыми числами - student2.ru , x≥0


Вычисление степени Х имеет ряд проблем-функция pow(x,y) не позволяет возводить отрицательные числа в нецелую степень, в этом случае можно использовать следующее выражение Вопрос .Операции с целыми числами - student2.ru , что в синтаксисе С/С++ запишется как exp(n*log(fabs(x))) или –pow(fabs(x),y).

24 вопрос * Оператор присваивания

Наши рекомендации