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

Размер INT - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 176, средняя оценка - 4.83
Krist_ALL
 Аватар для Krist_ALL
9 / 9 / 0
Регистрация: 01.02.2010
Сообщений: 317
08.04.2010, 16:11     Размер INT #1
int a = 99999000000;
cout <<a;
Выводит 12345646 типа такова. без -!


непойму ск макс может инт держать?
sizeof(int) = 4
4 байта = 32 бита
я так понял по дефолту инт всегда unsigned да?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Л Антон
 Аватар для Л Антон
0 / 0 / 0
Регистрация: 06.02.2013
Сообщений: 4
06.02.2013, 16:15     Размер INT #21
Цитата Сообщение от Jupiter Посмотреть сообщение
от старших адресов к младшим
Ой, да... верно.

То-есть. Если я объявляю переменную, в main() он пихает ее в стек, за исключением тех которые объявлены с квалификатором static...
Ну вроде прояснилось. Спасибо.

Добавлено через 24 минуты
Хорошо! Мозгуя выше изложенное, и ставя опыты на бедных "i" и "j" всплыл очередной вопрос.
Ну сначала код:
Кликните здесь для просмотра всего текста

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
#include  <iostream>
 
using namespace std;
 
    int i;
    int j;
    
void main()
{
    i = 19;
    j = 27;
 
    cout << &i << endl;
    cout << &j << endl;
 
    cout << "\n";
 
    int k = 12;
    int v = 40;
 
    cout << &k << endl;
    cout << &v << endl;
 
    system("pause");
}

Результат компиляции и выполнения -
Кликните здесь для просмотра всего текста

00419170
0041916C

0012FF60
0012FF54

Вопрос почему в стеке, размер переменной вырастает до 12 байт. Что я не догоняю.

Я себе это так представляю, int это 4 байта, следовательно должно быть сначала адрес
[Стек]
0x0012FF60 : 0x FF FF FF FC (это то самое 12)
0x0012FF54 : 0x FF FF FF 28 (это то самое 40)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт C++
6543 / 3963 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
06.02.2013, 16:20     Размер INT #22
Цитата Сообщение от Л Антон Посмотреть сообщение
Вопрос почему в стеке, размер переменной вырастает до 12 байт.
в дебаге? если да, то это отладочная информация
Л Антон
 Аватар для Л Антон
0 / 0 / 0
Регистрация: 06.02.2013
Сообщений: 4
06.02.2013, 16:43     Размер INT #23
Вот я сказочный д_б точно де-баг то включен...
Спасибо... все встало на свои места...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.02.2013, 19:52     Размер INT
Еще ссылки по теме:

C++ Error LNK2019: unresolved external symbol "public: __thiscall Vector<int>::Vector<int>(int,int,int)" (?0?$Vec
Как можно увеличить размер вектора, который является элементом вектора vector<vector<int>>arr(n, vector <int>) C++
C++ В каком случае надо начинать с int main() или с int _tmain( int argc, _TCHAR* argv[] ) и т.д.?

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

Или воспользуйтесь поиском по форуму:
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,919
Записей в блоге: 2
Завершенные тесты: 1
06.02.2013, 19:52     Размер INT #24
Цитата Сообщение от Л Антон Посмотреть сообщение
Спасибо... все встало на свои места...
Подобные моменты рассматривает компилятор - что и куда засунуть.
Yandex
Объявления
06.02.2013, 19:52     Размер INT
Ответ Создать тему
Опции темы

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