#include<stdio.h>
main()
{
struct value
{
int bit1 : 1;
int bit2 : 4;
int bit3 : 4;
}bit={1, 2, 2};
printf("%d %d %d\n",bit.bit1,bit.bit2,bit.bit3);
}
Выходной сигнал этого кода «-1 2 2» Просьба пояснить логику этого выхода. Значение bit.bit2 и bit.bit3 всегда совпадает с значением, назначенным ему, но бит.бит1 изменяется с разными целыми значениями. Зачем?Непредсказуемый выход с использованием структур в C
самый старший бит, используемый в качестве знака. – BLUEPIXY