2 1 0 1 2 1 0 2 2 2 2 , n n n n n n A a a a a a a a a − − − − − − = = + + + + Система счисления — это способ записи (представления) чисел. i a где — одна из цифр 0 или 1. Алфавит двоичной системы счисления: 0 и 1. Представление числа в двоичной системе: Перевод из десятичной в двоичную:
том, что он возвращает значение. выражение с оператором присваивания может, в свою очередь, быть частью другого выражения. переменная=выражение → Операции присваивания имеют правосторонний порядок. → Переменной в качестве значения присваивается результат, возвращаемый при вычислении выражения. → Результат выражения является тем значением, которое возвращает оператор присваивания.
________ 11110011 | 11110000 01100011 ________ 10010011 ^ 240 | 99=243 240 & 99=96 240 & 99=147 55 << 2=220 55 >> 2=13 00110111 ________ 00001101 00110111 ________ 11011100 >> 2 << 2 00110111 ________ 11001000 ~ ~ 55 = -56 • Неопределённое поведение: int A = 10; int A = 10; int B = A << -5; int B = A << 100; • Оператор ~ следует использовать осторожно и следить за тем, куда записывается результат.
и возвращает значение последнего элемента после запятой. Операторы && и || Оператор "запятая": , Второй операнд вычисляется только в том случае, если первый операнд принимает значение true (отличное от нуля). Такое сокращенное вычисление, например, можно использовать для предотвращения разыменования пустого указателя: Оператор sizeof() Возвращает размер операнда по отношению к размеру типа char . Самый низкий приоритет.
в зависимости от того, выполняется ли некое условие if (bool-expression) statement; Идеальный вариант писать фигурные скобки везде Создавайте переменные только при необходимости Описывайте сперва нормальный ход событий В качестве условия следует использовать только логические величины. Разделяйте логические выражения на части Управляющие инструкции: операторы выбора
условия switch(выражение){ case значение1: операторы break; case значение2: операторы break; ... default: операторы } Условия завершения: Достигнут конец блока switch. Выполняется оператор return. Выполняется оператор goto. Выполняется оператор break. Если ни одного из этих условий завершения не будет, то выполняться будут все кейсы после того кейса, который совпал с выражением switch. Управляющие инструкции: операторы выбора
do statement while ( expression ) ; • Проверка expression выполняется после каждого выполнения цикла. • Проверка expression происходит перед каждым выполнением цикла. • Инструкция выполняется повторно, пока expression не примет значение false.
; loop-expression ) statement; for (for-range-declaration : expression) statement; • Оператор выполняется повторно до тех пор, пока cond-expression не станет false. init-expression Часто используется для инициализации индексов цикла. Может содержать выражения или объявления. cond-expression Выражение, значение которого относится к целочисленному типу или типу класса, для которого имеется однозначное преобразование к целочисленному типу. Обычно используется для проверки критериев завершения цикла for. loop-expression Обычно используется для приращения индексов цикла.
позволяет вам определить блок кода, который будет проверяться на наличие ошибок во время его выполнения. • Ключевое слово throw вызывает исключение при обнаружении проблемы, что позволяет создать настраиваемую ошибку. • Оператор catch позволяет определить блок кода, который будет выполняться, если в блоке try возникает ошибка.
result_type function_name (parameter_list){ function_body } • result_type — тип данных, который будет возвращать функция • function_name — имя (которое будет говорить за что отвечает эта функция) • parameter_list — список параметров, которые будут передаваться функции при ее вызове
соотнося одно имя типа с несколькими параметрами int f( int x, y ); // ошибка int f( int x, int y); // правильно • Имена параметров не могут повторяться • Допускается сосуществование двух или более функций, имеющих одно и то же имя, но разные списки параметров (перегруженные функции) Параметры функции Параметры со значениями по умолчанию • C++ позволяет задавать для нескольких последних параметров в списке значения по умолчанию. • Если у какого-то параметра задано значение по умолчанию, то и у всех последующих параметров в списке тоже должны быть заданы значения по умолчанию.
вход подаётся целое число n. Результатом выполнения функции является вывод на экран n-ой производной функции sin. 2. Написать функцию, которой на вход подаётся числа x и i. В теле функции нужно установить бит в i-ую позицию числа (установить равным 1), вернуть и вывести результат. 3. Написать функцию, которой на вход подаётся числа x и i. В теле функции нужно сбросить бит в i-ой позиции числа (установить равным 0), вернуть и вывести результат. 4. При помощи побитовых операторов реализовать следующие функции: • определение чётности числа • поменять значения переменных местами • умножение на 8 5. Поезд метро едет на протяжении времени t с постоянной скоростью V, а затем такой же промежуток времени тормозит до полной остановки. Написать функцию, которая бы возвращала 𝑆1 — путь, пройденный поездом до торможения, 𝑆2 — путь, пройденный поездом во время торможения и 𝑆 — суммарный путь. ( ) (sin ) sin ) 2 n n x x = +
вход подаётся числа x и i. В теле функции нужно переключить бит в i-ой позиции числа, вернуть и вывести результат. 2. Реализовать функцию, которая будет перемножать два числа с помощью побитовых операторов (без использования арифметических). 3. Реализовать функцию, на вход которой подаётся два целочисленных числа x и y и символ operator, который может принимать одно из следующих значений: +, -, *, /, %, ^. Результатом выполнения функции должно являться выражение вида: (x operator y). Пояснение: * — реализовать при помощи побитовых операторов, знак ^ — возведение в степень двойки (2, 4, 16, 32), реализовать самостоятельно при помощи побитовых операторов, с проверкой корректности y. Также учесть, что число y может быть равно 0.