Задать вопрос
@pasha_nevalyasha

Как работает объявление переменных разных типов данных?

только начал изучать язык программирования С и стало интересно:
если под переменную типа short int выделяется 2 байта в памяти, тоесть грубо говоря 16 битов/ячеек, каждая из которых соответствует разряду двоичного числа, то мы можем сохранить например число 65535, которое соответствует максимальному шестнадцатизначному числу в двоичной системе(1111 1111 1111 1111). по сути мы просто "поставили" единички в каждую ячейку памяти, что по идее и должно дать максимально возможное число для переменной данного типа данных. но на деле максимальное число это 32767(ровно в два раза меньше числа 65535). почему так?
  • Вопрос задан
  • 158 просмотров
Подписаться 1 Простой 3 комментария
Помогут разобраться в теме Все курсы
  • Нетология
    Разработчик на C++
    12 месяцев
    Далее
  • Яндекс Практикум
    Разработчик C++
    9 месяцев
    Далее
  • Яндекс Практикум
    Разработчик C++ расширенный
    12 месяцев
    Далее
Решения вопроса 2
GavriKos
@GavriKos
Микропетпроджект - https://voidtrack.space/
Потому что отрицательные числа надо тоже учитывать. Один бит на знак
Ответ написан
VoidVolker
@VoidVolker
Dark side eye. А у нас печеньки! А у вас?
Ещё есть числа со знаком и есть без знака. Для знака выделяется отдельный бит, поэтому и получается два диапазона чисел: от -x до +x и от 0 до +2x.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
CityCat4
@CityCat4 Куратор тега C
Жил да был черный кот за углом...
почему так?

Потому что есть signed int и unsigned int. У первого диапазон -32767 - 32767, у второго 0 - 65535. Обычно это особого значения не имеет, если только специально внимание на этом не заострять. Но тем не менее об этом надо помнить.

По умолчанию - signed int. То есть:
int a; // -32767 - 32767
unsigned int b; // 0 - 65535
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
АО НПП «АМЭ» Санкт-Петербург
До 250 000 ₽
Uniscan Research Новосибирск
от 140 000 до 200 000 ₽
Базис-Центр Коломна
от 70 000 до 500 000 ₽