
- •Какую ide(Среду разработки) выбрать?
- •3) Символьная переменная — char.
- •4) Логическая переменная — bool
- •1) Вывод
- •1) Ввод
- •1)Стандартные математические операции,
- •2)Бинарные операции,
- •2) Бинарные операции, продолжение
- •1) Sqrt(a)
- •3) Fmod(a,b)
- •2) While
- •2) Создание функции.
- •3) Функция для перевода из 10-ой системы счисления в k-ую.
- •Поделиться в соц. Сетях
- •Имя файла:
- •Поделиться в соц. Сетях Структуры данных. Стек
- •1) Сокращение выражений:
- •2) Инкремент, декремент
- •3) Считывание переменных в цикле
- •Поделиться в соц. Сетях
2) Бинарные операции, продолжение
n-ная по счету цифра в двоичном представлении числа называется n-ным битом(1-ая цифра называется 1 битом, 483 цифра называется 483 битом). Будем называть n-ый бит числа a в двоичной системе счисления, как a[n].
Вот несколько примеров битовых операций используемых в С++:
1) | — битовый «или», скажем a | b = c, тогда:
c[n] равен 1, если или a[n] = 1, и/или b[n] = 1
c[n] равен 0 в остальных случаях.
Пример:
20[10] | 17[10] = 10001[2] | 10100[2] = 10101[2] = 21[10].
2) ^ — битовый «исключающий или», скажем a | b = c, тогда:
c[n] равен 1, если или a[n] = 1, или b[n] = 1
c[n] равен 0 в остальных случаях.
Пример:
20[10] | 17[10] = 10001[2] | 10100[2] = 00101[2] = 5[10].
3) & — битовый «и», скажем a | b = c, тогда:
c[n] равен 1, если и a[n] = 1, и b[n] = 1
c[n] равен 0 в остальных случаях.
Пример:
20[10] | 17[10] = 10001[2] | 10100[2] = 10000[2] = 16[10].
4) << — битовый «сдвиг влево», т.е a << b это добавление b нулей
в конец двоичного представления числа a.
Пример:
47[10] << 2 = 101111[2] << 2 = 10111100[2] = 188[10].
Также стоит добавить, что a << b = a * 2b, для чисел в десятичной системы счисления.
5) >> — битовый «сдвиг вправо», т.е a >> b это удаление последних
b цифр в двоичном представлении числа a.
Пример:
47[10] >> 2 = 101111[2] >> 2 = 1011[2] = 10[10].
Также стоит добавить, что a >> b = a / 2b с округлением вниз, для чисел в десятичной системы счисления.
Не путайте битовые сдвиги и разделители в cin и cout!!!
Чтобы написать битовый сдвиг в cout-е, поставте его в скобки, например:
1 |
cout << (a<<2) << "\n"; |
Поздравляю вы осилили эту статью(или просто прокрутили вниз)!
Для разнообразия немного кода:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
# include <iostream> using namespace std; int main() { cout << "Enter two numbers A and B: \n"; cin >> a >> b; cout << "A + B = " << a + b <<"\n"; cout << "A - B = " << a - b <<"\n"; cout << "A * B = " << a * b <<"\n"; cout << "A / B = " << a / b <<"\n"; cout << "A | B = " << a | b <<"\n"; cout << "A ^ B = " << a ^ b <<"\n"; cout << "A & B = " << a & b <<"\n"; cout << "A << B = " << (a << b) <<"\n"; cout << "A >> B = " << (a >> b) <<"\n"; system ("pause"); return 0; } |
Выводящий результаты всех математических и битовых операций для двух чисел.
Число B не должно быть равно нулю, так как компиляторы не поддерживают деление на нуль.
Спасибо, до скорого!
C++. Урок 5. Библиотека cmath
Опубликовано 21.10.2012 автором admin
На прошлом уроке мы забили себе голову всякими модулями и бинарными операциями, поэтому сегодня тема будет полегче, а конкретнее функции для работы с вещественными числами.
Как обычно, вот прошлые уроки:
Для начала давайте подключим библиотеку cmath, т.е напишем:
1 |
# include <cmath> |
Теперь мы можем писать наши функции, а компилятор ругаться не будет. Начнем с корней и степеней: