Информацию взял отсюда - https://volstr.ru/?p=36
Вот готовый пример работы с битами main.cpp:
Код:
#include <iostream>
using namespace std;
void write_bit(unsigned int *variable, int bit, unsigned int val) {
unsigned int temp;
if(val == 0)
temp &= ~(1 << bit);
else
temp |= (1 << bit);
*variable = temp;
}
void invert_bit(unsigned int *variable, int bit) {
unsigned int temp;
temp ^= (1 << bit);
*variable = temp;
}
int read_bit(unsigned int variable, int bit) {
bool b;
b = (bool((1 << bit) & variable));
if(b == true) return 1;
return 0;
}
int main(int argc, char** argv) {
unsigned int num=0;
for(int i=0; i<8; i++) write_bit(&num, i, 1);
cout << num << endl;
for(int i=0; i<8; i++) cout << read_bit(num, i);
cout << endl;
return 0;
}Результат:
Код:
255 11111111 -------------------------------- Process exited after 0.06387 seconds with return value 0 Drücken Sie eine beliebige Taste . . .