битовое поле



Битовые поля в си

Автор Vitya задал вопрос в разделе Другие языки и технологии

C++. Битовое поле. и получил лучший ответ

Ответ от Ўрий-17[гуру]
#include <iostream> using namespace std; struct t { unsigned h:5,m:6,s:6,ms:10; }; enum z { hours,minutes,seconds,ms }; class time { t x; public: void set_time(unsigned v,z b); void put_time(); }; void time::set_time(unsigned v,z b) { switch(b) { case hours: x.h=v; break; case minutes: x.m=v; break; case seconds: x.s=v; break; case ms: x.ms=v; break; } } void time::put_time() { cout << "Московское время - часов: " << x.h << ", минут: " << x.m << ", секунд: " << x.s << ", миллисекунд: " << x.ms << endl; } int main() { unsigned x; time w; cout << "Введите количество часов: "; cin >> x; w.set_time(x,hours); cout << "Введите количество минут: "; cin >> x; w.set_time(x,minutes); cout << "Введите количество секунд: "; cin >> x; w.set_time(x,seconds); cout << "Введите количество миллисекунд: "; cin >> x; w.set_time(x,ms); w.put_time(); return 1; }

Ответ от =Serge=[гуру]
Сначала подсчитываешь размер полей: Миллисекунды 2 в 10 хватит -10 бит Секунды 2 в 6 хватит - 6 бит Ну и так далее.. . Потом создаешь класс и его методы.

Ответ от Ra[гуру]
typedef struct mytime { int hour: Х; int min: У; ... } mytime; !!! Вместо х и у подставить количество бит, необходимых и достаточных для хранения данного значения setmytime(mytime *tm, int hour, int min ...) { tm-&

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: C++. Битовое поле.
Битовое поле на Википедии
Посмотрите статью на википедии про Битовое поле
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*