ВУЗ:
Составители:
Рубрика:
18
позволяют выполнить установку значений битов. Операции производятся по
всем известным таблицам истинности.
Пример. Проверка значения бита.
char bb=0x64; // = 100 в дес.с.с. и 1100100 - в дв.с.с.
if (bb & 4) cout<<"\nТретий бит равен 1";
else cout<<"\nТретий бит равен 0";
if (bb & 8) cout<<"\nЧетвертый бит равен 1";
else cout<<"\nЧетвертый бит равен 0";
if (bb & 32) cout<<"\nШестой бит равен 1";
else cout<<"\nШестой бит равен 0";
Побитовые операции сдвига ―>>‖ и ―<<‖ сдвигают все биты
переменной, соответственно, вправо или влево. Общая форма операторов
сдвига:
переменная >> количество_разрядов
переменная << количество_разрядов
При сдвиге битов в один конец числа, другой конец заполняется нулями.
Операции сдвига можно использовать для быстрого умножения (и
деления) на степени числа 2.
Пример. Умножение и деление на степени числа 2.
int a,b;
a=3; b=2048;
int n=a<<5; // n= a*32
int m=b>>5; // m=b/32
int x= (a<<3) + (a<<2); // x=a*12 = a*8 + a*4
Замечание. В последнем операторе примера показано, как применить
операции сдвига при умножении на числа, отличные от степеней 2, в данном
случае – умножение на 12. Скобки в операторе x= (a<<3) + (a<<2)
необходимы, – это связано с тем, что сложение имеет более высокий
приоритет, чем операции сдвига.
Операции присваивания
В результате операции присваивания переменная получает новое
значение.
Общая форма оператора присваивания:
идентификатор = выражение;
Оператор присваивания может присутствовать в любом выражении
языка.
Пример. Оператор присваивания в арифметическом выражении.
int a, b, c;
позволяют выполнить установку значений битов. Операции производятся по всем известным таблицам истинности. Пример. Проверка значения бита. char bb=0x64; // = 100 в дес.с.с. и 1100100 - в дв.с.с. if (bb & 4) cout<<"\nТретий бит равен 1"; else cout<<"\nТретий бит равен 0"; if (bb & 8) cout<<"\nЧетвертый бит равен 1"; else cout<<"\nЧетвертый бит равен 0"; if (bb & 32) cout<<"\nШестой бит равен 1"; else cout<<"\nШестой бит равен 0"; Побитовые операции сдвига ―>>‖ и ―<<‖ сдвигают все биты переменной, соответственно, вправо или влево. Общая форма операторов сдвига: переменная >> количество_разрядов переменная << количество_разрядов При сдвиге битов в один конец числа, другой конец заполняется нулями. Операции сдвига можно использовать для быстрого умножения (и деления) на степени числа 2. Пример. Умножение и деление на степени числа 2. int a,b; a=3; b=2048; int n=a<<5; // n= a*32 int m=b>>5; // m=b/32 int x= (a<<3) + (a<<2); // x=a*12 = a*8 + a*4 Замечание. В последнем операторе примера показано, как применить операции сдвига при умножении на числа, отличные от степеней 2, в данном случае – умножение на 12. Скобки в операторе x= (a<<3) + (a<<2) необходимы, – это связано с тем, что сложение имеет более высокий приоритет, чем операции сдвига. Операции присваивания В результате операции присваивания переменная получает новое значение. Общая форма оператора присваивания: идентификатор = выражение; Оператор присваивания может присутствовать в любом выражении языка. Пример. Оператор присваивания в арифметическом выражении. int a, b, c; 18
Страницы
- « первая
- ‹ предыдущая
- …
- 16
- 17
- 18
- 19
- 20
- …
- следующая ›
- последняя »