Помогите пожалуйста с такой задачей на Си: Вводится символ - нужно закодировать его, инвертировав значения бит на четных позициях (01110010 -> 11011000). Нужно использовать битовые поля.
volvo
25.10.2006 22:36
Извращение страшное, но работает (битовые поля тоже присутствуют)... Тестировалось на Turbo C, возможно на других компиляторах не пойдет (я не знаю, насколько переносима "склейка" - она же ##)
typedef struct _BitField { unsigned int _0:1; unsigned int _1:1; unsigned int _2:1; unsigned int _3:1; unsigned int _4:1; unsigned int _5:1; unsigned int _6:1; unsigned int _7:1; } BitField;
typedef union _Convert { BitField bits; char ch; } Convert;