y=(int)(10/3);
cout<}
Рисунок 3
Поразрядные операции
Напишите программу, которая переводит введенное положительное число в двоичное систему счисления и выводит на экран результат перевода.
Пример решения задания в Листинге 11.
Листинг 11
#include
using namespace std;
void dv(int a)
{
int b[100];
int i=0;
while(a>1)
{
b[i]=a%2;
a=(a-a%2)/2;
i++;
}
b[i]=a;
for(int j=i;j>=0;j–)
cout<
}
int main()
{
int a;
cin>>a;
dv(a);
return 0;
}
Ниже даны тесты для проверки задач программы.
Тест 1
a=10
Результат
1010
Тест 2
a=2
Результат
10
Тест 3
a=8
Результат
1000
Поразрядные операции применимы только к целочисленным аргументам (char, short, int и long).
& – поразрядное И
| – поразрядное включающее ИЛИ
^ – поразрядное исключающее ИЛИ
<< – сдвиг влево
>> – сдвиг вправо
~ – одноместное поразрядное дополнение до единицы
В побитовых операциях работа идет над каждым битом.
Поразрядное включающее ИЛИ
Пример:
8 | 10 = 10
8 – это 1000 в двоичной системе счисления, 10 – это 1010 в двоичной системе счисления. С каждым битом числа выполняется операции логическое ИЛИ, и вместо этого бита ставится результат этой операции, смотри Рисунок 4.