0 / 0 / 0
Регистрация: 10.11.2014
Сообщений: 21

Структура DateTime, битовая структура

10.03.2015, 11:55. Показов 2706. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Условие:

Структура содержит информацию о дате и времени некоторого события:

C++
1
2
3
4
5
6
7
8
struct datetime
{ unsigned short Year; // год
unsigned short Month; // месяц
unsigned short Day; // день
unsigned short Hour; // часы
unsigned short Minute; // минуты
unsigned short Second; // секунды
};
Написать программу, выполняющую:
− определение размера структурированного объекта в байтах.
− записывает предложенную структуру в виде битовой структуры и определяет размеры.
Сравните результаты, сделайте вывод.

Мой код:

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
#define _CRT_SECURE_NO_WARNINGS
#include <math.h>
#include <stdio.h>
#include <conio.h>
#include <locale>
#include <Windows.h>
#include <iostream>
using namespace std;
 
struct datetime
{
    unsigned short Year; // год
    unsigned short Month; // месяц
    unsigned short Day; // день
    unsigned short Hour; // часы
    unsigned short Minute; // минуты
    unsigned short Second; // секунды
};
 
int main()
{
    setlocale(LC_ALL, "Russian");
    datetime D;
    cout << sizeof D;
    system(" pause");
    return 0;
}
Далее просто не понимаю что нужно делать, если не трудно помогите.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.03.2015, 11:55
Ответы с готовыми решениями:

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

Структура «База», сущности «Универсам» и «Продукты», структура «Товар»
1. Создать структуру «База», включающую не менее 3 полей. 2. Создать сущности «Универсам» и «Продукты» описанной структуры. 3. Создать...

структура array предназначена для хранения строки типа char. Структура имеет функцию, которая позволяет изменить символ
структура array предназначена для хранения строки типа char. Структура имеет функцию, которая позволяет изменить символ с указанным...

9
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
10.03.2015, 12:48
Вот здесь твой случай описан: http://h-l-l.ru/publ/39-1-0-42
Просвещайся.
1
0 / 0 / 0
Регистрация: 10.11.2014
Сообщений: 21
10.03.2015, 22:13  [ТС]
Уже что-то, спасибо за наводку, осталось реализовать программу

Добавлено через 9 часов 12 минут
В общем еще один вопрос - как создать структуру с указанием размеров битовых полей?? Размер поля должно быть константное число или я не правильно понял суть задания - считать значения полей данных в условии и создать аналогичную структуру с битовыми полями для экономии памяти??
0
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
11.03.2015, 17:43
Две структуры должно быть. Одна у тебя уже есть, обычная. Нужно создать вторую такую же только с указанием размеров полей в битах, учитывая диапазоны значений. В статье же всё есть.
0
0 / 0 / 0
Регистрация: 10.11.2014
Сообщений: 21
11.03.2015, 17:46  [ТС]
Всем доброго дня, нуждаюсь в ответе:

Например есть структура

C++
1
2
3
4
5
struct info
{ unsigned short height;
unsigned short wight;
unsigned short years;
};
Нужно записывать предложенную структуру в виде битовой структуры и определить размеры.
Что-то вроде такого:

C++
1
2
3
4
5
struct info
{ unsigned short height:4;
unsigned short wight:5;
unsigned short years:4;
};
Как это можно реализовать если размер битового поля - константное число, или я не правильно понял задания?
0
Модератор
Эксперт С++
 Аватар для zss
13759 / 10954 / 6487
Регистрация: 18.12.2011
Сообщений: 29,211
11.03.2015, 18:18
Может под размером понимается максимальное число, которое можно присвоить.
Под 4 бита макс. будет 15,
под 5: 31
под 6: 63
под 7: 127
под 8: 255
1
0 / 0 / 0
Регистрация: 10.11.2014
Сообщений: 21
11.03.2015, 19:31  [ТС]
Я уже создавал тему с полным описанием задачи ( Структура DateTime, битовая структура ), один из участников дал ссылку на описание моей задачи но доделать ее до конца я так и не смог.
0
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
12.03.2015, 15:25
Подбираешь количество бит в соответствии с ОДЗ каждого поля структуры. zss привёл соответствия.
Например, ОДЗ для месяца - 1...12, значит достаточно 4 бита (2^4 - 1 = 15); день - 1...31, 5 бит; минуты и секунды - 0...59, 6 бит и т. д.
C++
1
2
3
4
5
6
7
8
9
struct datetime1
{
    unsigned short Year: 13; // год
    unsigned short Month: 4; // месяц
    unsigned short Day: 5; // день
    unsigned short Hour: 5; // часы
    unsigned short Minute: 6; // минуты
    unsigned short Second: 6; // секунды
};
Дальше работаешь со структурой как обычно.
0
0 / 0 / 0
Регистрация: 10.11.2014
Сообщений: 21
12.03.2015, 17:14  [ТС]
Спасибо за помощь, но это я понял из статьи, которую Вы мне показали. Меня вводит в ступор задание :
Написать программу, выполняющую:
− определение размера структурированного объекта в байтах.
записывает предложенную структуру в виде битовой структуры и определяет размеры.

Что значит ЗАПИСЫВАЕТ? То есть создает битовую структуру исходя из размеров данной структуры?? Но как это сделать, если, как я писал выше, размер полей структуры - константное число?? Или я неправильно понял задание??
0
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
12.03.2015, 17:38
Создаёшь структуру второго типа и через sizeof() определяешь размер. Должно быть меньше.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.03.2015, 17:38
Помогаю со студенческими работами здесь

Структура, доступная из всех файлов проекта ("глобальная" структура)
Есть четыре структуры (body, gun, enemy, st), описанные в main.cpp. К main.cpp подключен хедер save.h, в котором имеется функция void...

Структура и вложенная структура
Подскажите как сделать задание, такого рода Иванов Математика 80 История 60 Физика 67 ...

Тип структура. Описать, используя тип структура
Описать, используя тип структура, данные на учеников (фамилия, улица, дом, квартира). Составить программу, определяющую, сколько учеников...

Структура
typedef struct strs { char c; strs *next; int inset; }xx; Ошибка при компиляции:

структура c++
Помогите пожалуйста, в условии ошибка , но я не понимаю какая-именно #include&lt;iostream&gt; #include&lt;windows.h&gt; ...


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

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

Новые блоги и статьи
Создаем RESTful API с Laravel
Jason-Webb 28.04.2025
REST (Representational State Transfer) — это архитектурный стиль, который определяет набор принципов для создания веб-сервисов. Этот подход к построению API стал стандартом де-факто в современной. . .
Дженерики в C# - продвинутые техники
stackOverflow 28.04.2025
История дженериков началась с простой идеи — создать механизм для разработки типобезопасного кода без потери производительности. До их появления программисты использовали неуклюжие преобразования. . .
Тестирование в Python: PyTest, Mock и лучшие практики TDD
py-thonny 28.04.2025
Тестирование кода играет весомую роль в жизненном цикле разработки программного обеспечения. Для разработчиков Python существует богатый выбор инструментов, позволяющих создавать надёжные и. . .
Работа с PDF в Java с iText
Javaican 28.04.2025
Среди всех форматов PDF (Portable Document Format) заслуженно занимает особое место. Этот формат, созданный компанией Adobe, превратился в универсальный стандарт для обмена документами, не зависящий. . .
Динамические массивы в C++ - создание и использование
NullReferenced 27.04.2025
Динамические массивы представляют собой один из фундаментальных инструментов программирования на C++, позволяющий создавать структуры данных, размер которых определяется во время выполнения. . .
Асинхронный JavaScript: Промисы, Async/Await и Fetch API
Reangularity 27.04.2025
Пользователь заходит на веб-страницу, нажимает кнопку и. . . ничего не происходит. Сайт словно замер. Через несколько секунд всё внезапно оживает, но пользователь уже успел закрыть вкладку. Знакомая. . .
Management on GitLab and repository management in Visual Studio code
jigi33 27.04.2025
- repo management on GitLab - CI/ CD in GitLab - VCS repository management in Visual Studio code (see attachments)
Kanban или Scrum - что выбрать?
EggHead 27.04.2025
Kanban и Scrum — уже много лет удерживают лидирующие позиции среди гибких подходов. Руководители проектов и команды разработчиков то и дело сталкиваются с дилеммой: какой из этих двух методов выбрать. . .
Кастомные Middleware на C# в ASP.NET Core
UnmanagedCoder 27.04.2025
Разработка веб-приложений сегодня мало напоминает монолитное программирование прошлых лет. На смену громоздким блокам кода пришла модульная архитектура, где каждый компонент выполняет строго. . .
Анализ и линтинг кода JavaScript: ESLint, Prettier и JSHint
run.dev 26.04.2025
JavaScript прошёл долгий путь от простого языка для анимации веб-страниц до основы современной веб-разработки. С ростом сложности приложений, увеличением кодовых баз и масштабированием команд. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru