Операции сдвига и поразрядные операции в С++ пример кода
#include "stdafx.h" #include <iostream> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { int PORTA = 0; while(1) { cout<<PORTA<<endl; // 0 cout<<(1<<3)<<endl; // 8 cout<<~(1<<3)<<endl; // -9 11110111 PORTA &=~(1<<3); cout<<PORTA<<endl; // 0 cout<<(1<<0)<<endl; // 1 PORTA |=(1<<0); cout<<PORTA<<endl; // 1 PORTA |= (1<<2); cout<<PORTA<<endl; // 5 cout<<~(1<<0)<<endl; // -2 11111110 cout<<~0<<endl; // -1 PORTA &=~(1<<0); cout<<PORTA<<endl; // 4 cout<<(1<<1)<<endl; // 2 PORTA |=(1<<1); cout<<PORTA<<endl; // 6 cout<<~(1<<2)<<endl; // -5 11111011 PORTA &=~(1<<2); cout<<PORTA<<endl; // 2 PORTA |=(1<<3); cout<<PORTA<<endl; // 10 PORTA &=~(1<<1); cout<<PORTA<<endl;// 8 PORTA |=(1<<0); cout<<PORTA<<endl; // 9 system("pause"); return 0; } }
Результат работы программы