3 / 2 / 1
Регистрация: 30.03.2018
Сообщений: 64
1

Структура с битовыми полями

20.05.2018, 22:40. Показов 1865. Ответов 1
Метки нет (Все метки)

Написать программу, которая реализует сохранение в структуре с битовыми полями времени (часы, минуты, секунды). Написать функцию вычисления количества полных часов, прошедших между двумя моментами во времени. Помогите в реализации, буду очень благодарна( и если не трудно с комментариями, я новичок в с++)
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.05.2018, 22:40
Ответы с готовыми решениями:

Структура Военкомат с битовыми полями
Разработайте структуру, используя битовые поля для обозначения логических (битовых) значений....

Работа с битовыми полями
Добрый день. Не зная и не понимая подобного... Подскажите пожалуйста, как реализовать ввод...

Размер структуры с битовыми полями
Здравствуйте, имеется структура с битовыми полями (используя директиву #pragma pack (push,1)):...

Чтение с файла структуры с битовыми полями
Есть структура: struct Comp { string name; int body:1; int typeVC:1; int typeSC:1; int...

1
21 / 21 / 22
Регистрация: 13.05.2018
Сообщений: 71
21.05.2018, 00:24 2
Лучший ответ Сообщение было отмечено julia_B как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <iostream>
 
struct Time {
    unsigned int hours:   5; // 24  это 10111 , 5 бит хватит
    unsigned int minutes: 6; // 60 это 111100, 6 бит хватит
    unsigned int seconds: 6; // 60 это 111100, 6 бит хватит
};
 
// перевод  в секунды
int ToSeconds(const Time &t) {
    return 3600 * t.hours + 60 * t.minutes + t.seconds;
}
// разница в часах
// отнимаем от конечного времени выраженного в секундах,   начальное в секундах
// делим на 3600 чтобы перевести в часы
int DiffInHours(const Time & start, const Time &end) {
    return  (ToSeconds(end) - ToSeconds(start)) / 3600;
}
 
 
int main() {
 
    Time t1 = {02, 30, 57};
    Time t2 = {12, 00, 02};
 
    std::cout << "Difference in hours: " << DiffInHours(t1, t2)<< std::endl;
    return 0;
}
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.05.2018, 00:24
Помогаю со студенческими работами здесь

Разработать перечень основных операций с битовыми полями
Доброго времени суток! Пишу программу по следующему заданию: Разработать ПО работы с битами....

Определите четность числа по анализу старшего бита, используя объединение с битовыми полями
Используя объединение с битовыми полями, определите четность беззнакового целого числа по анализу...

В текстовом файле структура – информация о компьютерах. Структура с полями: название, стоимость.
Ребят, помогите пожалуйста, 29 июня экзамен по &quot;Основы программирования&quot;,кто сколько сможет сделать...

Структура с полями
Помогите пожалуйста, никак не могу реализовать эту программу((( Запись о товаре на складе...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru