Есть структура, которая хранит чимсло из 2 бит, все верно же?
struct Bytes2InNumber{
int a:2;
};
Создал объект, записываю число 2, т.е (00 = 0,01 = 1, 10 = 2, 11 = 3).
struct Bytes2InNumber bits_2_in_number;
bytes_2_in_number.a = 2;
printf("Number with 2 bytes: %d\n", bytes_2_in_number.a);
Вывод printf:
Прошу прощения за, быть может, глупость, никогда этим раньше не занимался и что происходит - не понимаю
В printf написано bytes, ну я про биты говорю, не обращайте внимания, описался
При использовании int есть такая вещь, как знаковый бит, поэтому у вас записываются числа не 0-3, а от -2 до 1...
Вот такое изменение
struct Bytes2InNumber{
unsigned int a:2;
};
должно вам помочь...
Сборка персонального компьютера от Artline: умный выбор для современных пользователей