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

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

Войти
Регистрация
Восстановить пароль
 
Nikitko_Cent
136 / 106 / 11
Регистрация: 27.10.2011
Сообщений: 665
Завершенные тесты: 2
#1

Распределение памяти под объекты числовых типов. Не могу понять - C++

10.12.2012, 15:45. Просмотров 325. Ответов 1
Метки нет (Все метки)

Может быть немного не в тему пишу, т.к. этот вопрос не относится конкретно к языку С++, просто столкнулся с этим, когда начал изучать этот язык. Буду объяснять суть проблемы на языке С++. Допустим, возьмем такой тип как "signed int". Объект этого типа занимает в памяти 16 бит. Диапазон значений составляет -32768 - 32767. Насколько я знаю, в любых signed типах первый бит отводится под знак числа (+ или -), т.е. в signed int под само число будет отведено 15 бит памяти. Теперь рассмотрим число 32768. В двоичной системе это число будет являться числом 1000 0000 0000 0000. Т.е. занимает 16 бит памяти. Тогда как число -32768 умещается в signed int, если только 32768 занимает 16 бит, куда впихнуть еще и знак числа?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.12.2012, 15:45
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Распределение памяти под объекты числовых типов. Не могу понять (C++):

Перераспределение памяти с new под объекты - C++
есть класс #include <iostream> #include <string> using namespace std; class tel_book { private: char *FIO; int count...

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

не могу понять ошибку типов переменных при деление идет обращение в ноль - C++
проблема в том что при деление у ми идет обращение в 0, хотя по сути его не должно быть const int m=10, n=1000; // по заданию...

Выделение памяти с помощью new под объекты без вызова их конструкторов - C++
здравствуйте, корректен ли следующий код: myClass* pttr = static_cast<myClass*>(::operator new(5 * sizeof(myClass))); for (int i = 0; i...

Не могу понять в чем утечка памяти - C++
bool CAvPlatform::DetectGameFolderAccessRights() { DWORD DesiredAccess = FILE_GENERIC_WRITE; DWORD GrantedAccess = 0; ...

Ошибка памяти при выполнении - не могу понять в чём дело - C++
Добрый день. Есть следующий код: #include <iostream> using namespace std; class Matrix { private: int* arr_ptr; ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Croessmah
Эксперт CЭксперт С++
13226 / 7498 / 845
Регистрация: 27.09.2012
Сообщений: 18,417
Записей в блоге: 3
Завершенные тесты: 1
10.12.2012, 16:04 #2
Цитата Сообщение от Nikitko_Cent Посмотреть сообщение
Тогда как число -32768 умещается в signed int, если только 32768 занимает 16 бит
Может стоит еще почитать про то, как именно представляются отрицательные числа?
Цитата Сообщение от Nikitko_Cent Посмотреть сообщение
если только 32768
Цитата Сообщение от Nikitko_Cent Посмотреть сообщение
Диапазон значений составляет -32768 - 32767
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.12.2012, 16:04
Привет! Вот еще темы с ответами:

Есть книжка но не могу понять она подходит под описание - C++
Есть книжка но не могу понять она подходит под описание среды visual studio 2010 c++ ? Я вобщем столкнулся на таком случае, по заданию...

Размеры числовых типов данных - C++
Всем привет. Вопрос: Почему мой код отображает с ошибкой только значения длины числовых данных для long, unsigned long, long double. а...

Выделение памяти под массив в классе. Почему не могу правильно выделить? - C++
Все привет! не могу понять почему в классе не получается выделить память из стека для массива. Есть класс: Надо чтоб конструктор класса...

Распределение памяти. Динамическое выделение памяти - C++
an-1 an-2 ... a2


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

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

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