Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.64
fenix117
8 / 8 / 1
Регистрация: 16.03.2011
Сообщений: 249
#1

Создать свой целочисленный тип данных - C++

13.09.2011, 12:52. Просмотров 1375. Ответов 5
Метки нет (Все метки)

Здравствуйте, у меня возник вопрос, можно ли создать например целочисленный тип данных, который может принимать только значения от 1 до 4 и выделять под него 2 бита (00-'1'; 01-'2'; 10-'3'; 11-'4'). Нас пока учили создавать новые типы через структуры на основе стандартных типов.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.09.2011, 12:52     Создать свой целочисленный тип данных
Посмотрите здесь:

Как создать свой целочисленный тип данных с пределом от 0 до 500 - C++
Доброе утро. Кто может подсказать, как создать персональный тип данных. Задумка вот в чем. Нужна программа, где по нажатию на "A"...

Создать свой тип данных - C++
Есть класс Bignum, который хранит большие числа: class Bignum { string digits; // Число }; Возможно ли сделать вот...

Не получается создать свой тип данных - C++
Всем привет! Подскажите почему компилятор ругается на эти три строчки? MyVector2D():x(0),y(0){} MyVector2D(float x, float...

Целочисленный тип данных для 10^50 - C++
Существует ли в C++ целочисленный тип данных, который вмещает 10^50?

Как создать свой собственный тип на C++? - C++
Здравствуйте!!! Возник вопрос как создать свой собственный тип на С++ который включат такие типы как int, string, double?

Как реализовать свой тип данных - C++
Здравсвтуйте,подскажите пожалуйста как реализовать с с++ свой тип данных. Допустим хочу завести массив,где каждому arr будет соответсвовать...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
odip
Эксперт С++
7157 / 3297 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
13.09.2011, 12:53     Создать свой целочисленный тип данных #2
Сделай свою запаковку и распаковку в стандартный unsigned int
solar_wind
756 / 747 / 42
Регистрация: 06.07.2009
Сообщений: 2,969
Завершенные тесты: 1
13.09.2011, 12:58     Создать свой целочисленный тип данных #3
fenix117, Если это одно значение, то выигрыша не будет никакого, дискретность тех же указателей до байта....а вот если это например массив таких значений, тогда можно оптимизировать память и написать класс, который будет с этими данными работать.
Jupiter
Каратель
Эксперт С++
6553 / 3973 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
13.09.2011, 15:14     Создать свой целочисленный тип данных #4
C
1
2
3
4
5
6
struct bt {
    unsigned char a:2;
    unsigned char b:2;
    unsigned char c:2;
    unsigned char d:2;
};
accept
4821 / 3241 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
14.09.2011, 04:19     Создать свой целочисленный тип данных #5
Jupiter, для битовых полей определёнными являются только int, signed int и unsigned int

C89(draft)
3.5.2.1 Structure and union specifiers

...

A bit-field may have type int , unsigned int , or signed int .
Whether the high-order bit position of a ``plain'' int bit-field is
treated as a sign bit is implementation-defined. A bit-field is
interpreted as an integral type consisting of the specified number of
bits.
Цитата Сообщение от fenix117
который может принимать только значения от 1 до 4 и выделять под него 2 бита
C
1
struct int_type { unsigned int val : 2; };
занимать она будет не два бита, а sizeof(unsigned int)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.09.2011, 10:32     Создать свой целочисленный тип данных
Еще ссылки по теме:

Свой тип данных для перегрузки функций - C++
Добрый день! Имеется широта и долгота - все FLOAT. Хочу сделать пару функций с одинаковым названием, но с разной реализацией для разных...

Создать свой поток данных - C++
Не могу понять, возможно ли как то создать свой поток данных? Знаю есть файловые потоки, cin cout cerr, а как быть если мне нужен поток...

Создать тип данных своего размера - C++
Нужно создать тип для хранение значения от 0 до 50 005 000 с хвостом записать в него из потока число, выполнить операции, вывести.

Создать тип данных Многоразрядное число - C++
Создать тип данных Многоразрядное число. Разработать следующие функции: • Equal() – сравнение двух многоразрядных чисел (возвращает...

Создать абстрактный тип данных - класс вектор - C++
Создать абстрактный тип данных - класс вектор (динамический массив), который имеет указатель на double, число элементов и переменную...

Создать абстрактный тип данных - класс вектор - C++
Доброго времени суток! Тут задачку такую не хилую подогнали. Нужна помощь опытных программистов. Ребят, выручайте, без вас...


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

Или воспользуйтесь поиском по форуму:
Jupiter
Каратель
Эксперт С++
6553 / 3973 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
14.09.2011, 10:32     Создать свой целочисленный тип данных #6
C++(2003)
9.6
...
9.6.3 A bit-field shall have integral or enumeration type (3.9.1). It is
implementation-defined whether a plain (neither explicitly signed nor unsigned) char, short, int or
long bit-field is signed or unsigned.
Yandex
Объявления
14.09.2011, 10:32     Создать свой целочисленный тип данных
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru