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

размеры переменных - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.85
klynxe
10 / 10 / 4
Регистрация: 07.09.2012
Сообщений: 537
18.09.2012, 18:19     размеры переменных #1
Есть переменные типа int(2 байта), double(8 байт),char(1 байт) и т.д. под которые отведено соответствующие количество памяти, могу ли я сделать свой тип переменной допустим с длиной 4096 байт?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
HighPredator
 Аватар для HighPredator
5342 / 1725 / 320
Регистрация: 10.12.2010
Сообщений: 5,108
Записей в блоге: 3
18.09.2012, 18:28     размеры переменных #2
Без проблем:
C++
1
2
3
4
5
6
7
8
9
typedef char TMyType[4096];
//....
int main()
{
  TMyType a;
  //.....
  getchar();
  return 0;
}
co6ak
Кошковед
 Аватар для co6ak
402 / 495 / 29
Регистрация: 12.04.2010
Сообщений: 1,392
18.09.2012, 18:29     размеры переменных #3
ты можешь сделать структуру и использовать как тип.
DebieCooper
 Аватар для DebieCooper
34 / 34 / 1
Регистрация: 12.10.2011
Сообщений: 285
18.09.2012, 18:30     размеры переменных #4
int - в DOS 16 бит, а в 32-разрядной Windows уже 32. Но в 64-разрядной версии int уже - 64. Ибо таков размер одного регистра процессора.
klynxe
10 / 10 / 4
Регистрация: 07.09.2012
Сообщений: 537
18.09.2012, 18:34  [ТС]     размеры переменных #5
Это как я понимаю будет массив char из 4096 элементов, а можно сделать это массив, как одно число, то есть допустим написать mas1*mas2=mas3, где все массива целые числа, или надо извращаться со своими методами перемножения длинных чисел?
То есть можно ли сделать переменную вроде int, но размеров в 4096 байт, а не 4?
HighPredator
 Аватар для HighPredator
5342 / 1725 / 320
Регистрация: 10.12.2010
Сообщений: 5,108
Записей в блоге: 3
18.09.2012, 18:37     размеры переменных #6
Если вы хотите адекватно работать с ним как с "числом", тогда вам лучше всего будет сделать класс и для него определить нужные вам операторы. Почитайте про перегрузку операторов.
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 50
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
18.09.2012, 18:38     размеры переменных #7
DebieCooepr, ничего подобного, int и в win x64 и никсах x64 равен 4 байтам. Только long int в x64 никсах имеет размер 8 байт, но win x64 long int так же имеет 4 байта.
co6ak
Кошковед
 Аватар для co6ak
402 / 495 / 29
Регистрация: 12.04.2010
Сообщений: 1,392
18.09.2012, 18:38     размеры переменных #8
1)создаешь класс MyInt.
2)делаешь его, допустим, многомегобайтной строкой.
3)переопределяешь операторы умножения, деления и прочего.
4)...
5) PROFIT!
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
18.09.2012, 18:42     размеры переменных #9
Toshkarik,
DebieCooepr, Конкретные размеры типов зависят исключительно от ОС и реализации.
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 50
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
18.09.2012, 18:51     размеры переменных #10
ForEveR, я как бы в курсе. Про то и говорю, у win одна data model , у никсов - другая.
klynxe
10 / 10 / 4
Регистрация: 07.09.2012
Сообщений: 537
18.09.2012, 19:01  [ТС]     размеры переменных #11
Цитата Сообщение от co6ak Посмотреть сообщение
3)переопределяешь операторы умножения, деления и прочего.
то есть для знаков умножения деления и т.д. пишу свои функции счета и работы с массивами?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.09.2012, 19:04     размеры переменных
Еще ссылки по теме:

Размеры переменных C++
C++ Splitter и размеры элементов
C++ Даны 5 переменных a,b,c,d,e - необходимо каждой из этих переменных присвоить число из текстового документа

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

Или воспользуйтесь поиском по форуму:
OhMyGodSoLong
~ Эврика! ~
 Аватар для OhMyGodSoLong
1234 / 983 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
18.09.2012, 19:04     размеры переменных #12
Цитата Сообщение от klynxe Посмотреть сообщение
то есть для знаков умножения деления и т.д. пишу свои функции счета и работы с массивами?
Ага. Называя их operator*(), к примеру, для умножения.
Yandex
Объявления
18.09.2012, 19:04     размеры переменных
Ответ Создать тему
Опции темы

Текущее время: 21:36. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru