Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/18: Рейтинг темы: голосов - 18, средняя оценка - 4.67
13 / 13 / 15
Регистрация: 26.01.2015
Сообщений: 211
1

Размер переменных в байтах

30.03.2015, 01:15. Просмотров 3207. Ответов 4
Метки нет (Все метки)

Доброго времени суток!
Не могу разобраться в переводах из шестнадцатиричной системы счисления в двоичную.
Ячейка в памяти компьютера имеет 8 знаков, т.е. 8 бит или 1 байт. Если, например, мы объявим переменную (int c=5) это в двоичной системе будет как 101. А если мы объявим переменную (int d=123123123) это в двоичной системе будет 100100011000100100011000100100011. Если каждая ячейка памяти = 8 бит, то почему sizeof(c)=sizeof(d)=4 байта, а не 1 и 4 байта соответственно?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.03.2015, 01:15
Ответы с готовыми решениями:

Найти максимальные и минимальные значения переменных, указать размер в байтах
помогите плиз. очень надо написать эту программу Написать прогу которая подсчитывает макс. и...

написать прогу, которая подсчитывает макс. и мин. значения переменных (int, shorting, longint, uint, char, uchar), ещё указать размер в байтах
помогите плиз. желательно, чтобы программа была написана максимально простым способом

Написать прогу, которая подсчитывает макс. и мин. значения переменных (int, shorting, longint, uint, char, uchar), ещё указать размер в байтах
Программа должна содержать функцию printf. Без функции std::count и т.п.

написать, прогу которая подсчитывает макс. и мин. значения переменных (int, shorting, longint, uint, char, uchar), ещё указать размер в байтах
Написать желательно простейшим языком(без применения каких-то очень навороченных функций)....

4
223 / 213 / 80
Регистрация: 26.04.2013
Сообщений: 971
30.03.2015, 01:21 2
sizeof(c)=sizeof(d) = sizeof(int)
1
lss
934 / 862 / 356
Регистрация: 10.10.2012
Сообщений: 2,706
30.03.2015, 01:35 3
Цитата Сообщение от Ofelion Посмотреть сообщение
Если каждая ячейка памяти = 8 бит, то почему sizeof(c)=sizeof(d)=4 байта, а не 1 и 4 байта соответственно?
Потому, что под ЛЮБОЕ значение типа int выделяется 4 байта (на 32х-битных платформах).

Добавлено через 2 минуты
Цитата Сообщение от Ofelion Посмотреть сообщение
Если, например, мы объявим переменную (int c=5) это в двоичной системе будет как 101.
0000 0000 0000 0000 0000 0000 0000 0101

Добавлено через 5 минут
Если просто:
C++
1
int c;
, то уже 4 байта выделено.
1
Эксперт С++
8170 / 3770 / 811
Регистрация: 15.11.2014
Сообщений: 8,566
30.03.2015, 02:11 4
Лучший ответ Сообщение было отмечено Ofelion как решение

Решение

Цитата Сообщение от Ofelion Посмотреть сообщение
это в двоичной системе будет как 101. А если мы объявим переменную (int d=123123123) это в двоичной системе будет 100100011000100100011000100100011.
объем памяти фиксированный.

допустим, если для инта это - 8 байт, а число маленькое, то оно все равно занимает все 8 байт.
неиспользованные биты заполняются нулями:
0000 0000 0000 0000 0000 0000 0000 0101
1
13 / 13 / 15
Регистрация: 26.01.2015
Сообщений: 211
30.03.2015, 11:33  [ТС] 5
Спасибо всем!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.03.2015, 11:33

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Размер памяти в байтах
Подскажите, пожалуйста, как узнать колл-во байт между двумя указателями? Т.е. к примеру: int *a...

Размер объекта в байтах
Разъясните пожалуйста следующую ситуацию. Почему при таком class A { int x; int y; ...

Размер файла в байтах
Во первых надо узнать размер файла в байтах, фаил открыт потока ifstream fr, функция sizeof(fr)...

Вычислить размер файла в байтах
используя функции seekg и tellg class fileTxt { public: fileTxt() {}; ~fileTxt() {};...


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

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

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