logo

Що таке short int у C?

У мові програмування C, короткий міжн це тип даних, який використовується для зберігання цілочисельних значень. Це модифікатор типу, який можна використовувати з тип даних int щоб створити меншу цілочисельну змінну, використовуючи менше пам’яті, ніж звичайне int.

The короткий міжн тип даних займає 2 байти пам'яті, яка вдвічі менша за звичайну тип даних int , і може представляти цілі значення в діапазоні -32 768 до 32,767 .

Синтаксис короткого внутр

індійська актриса рані мукерджі

Синтаксис для оголошення змінної short int такий:

 short int variable_name; 

Наприклад, наступний код оголошує та ініціалізує a короткий міжн змінна з назвою вік:

 short int age = 25; 

Змінні short int можуть призвести до помилок, якщо їх використовувати не обережно. Це тому, що вони мають менший діапазон значень, ніж int змінні і можуть переповнюватися, якщо їм присвоєно значення за межами їх діапазону. З цієї причини важливо переконатися, що значення, призначені змінній short int, знаходяться в межах її діапазону.

Крім того, коротке ключове слово можна використовувати замість the короткий міжн щоб оголосити змінну цього типу. Таким чином, наступні дві декларації еквівалентні:

 short int variable_name; short variable_name; 

Деякі інші додаткові відомості про тип даних 'short int' такі:

    Розмір і діапазон значень

Як згадувалося раніше, короткий int займає 2 байти пам'яті, що вдвічі менше, ніж звичайний тип даних int. Розмір short int визначається реалізацією, що означає, що він може змінюватися залежно від платформи та компілятора, що використовується. Однак він завжди гарантовано буде меншим за звичайний int.

З точки зору діапазону значень, короткий int може зберігати цілі значення в діапазоні -32 768 до 32,767 . Цей діапазон можна визначити за допомогою SHRT_MIN і SHRT_MAX константи, які визначені в межі.ч файл заголовка.

    Використання 'short int'

Тип даних short int зазвичай використовується, коли важливий простір пам’яті, або коли діапазон значень, що зберігаються в змінній, знаходиться в межах діапазону short int. Деякі приклади ситуацій, коли може використовуватися короткий int, включають:

  • У вбудованих системах, де пам'ять обмежена.
  • Під час створення великих масивів цілих чисел, де потрібно оптимізувати використання пам’яті.
  • Коли відомо, що діапазон значень, що зберігаються у змінній, знаходиться в діапазоні a короткий міжн , як-от збереження віку людини, який зазвичай не перевищує 100 років .
  • Модифікатори типу

The тип даних short int є модифікатором типу, що означає, що його можна використовувати в комбінації з іншими типами даних для створення нових типів даних. Наприклад, наступні дійсні оголошення змінних:

string.compareto c#
 short int x; short y; short int *ptr; short int arr[10]; 
    Неявні перетворення

Під час виконання арифметичних операцій або операцій порівняння між змінними різних типів даних C може виконувати неявні перетворення, щоб гарантувати правильність виконання операцій. Використовуючи короткі змінні int, важливо знати про ці перетворення, оскільки вони можуть призвести до неочікуваної поведінки. Наприклад, розглянемо такий код:

 #include int main() { short int x = 300; short int y = 200; short int z = x + y; printf('%d
', z); return 0; } 

Вихід:

 500 

Пояснення:

У цьому коді z i s присвоєно значення 500 , що є правильним результатом додавання х і і . Однак, якщо printf твердження змінено на printf('%hu ', z), вихід буде 244 , що є результатом перетворення 500 до непідписаного короткий міжн . Це відбувається тому, що %hu використовується специфікатор формату, який вказує, що значення, яке друкується, має бути беззнаковим коротким int.

    Підвищення та пониження в посаді

Виконуючи операції між змінними різних типів даних, C може виконувати підвищення та пониження, щоб забезпечити правильне виконання операцій. Підвищення відбувається, коли змінна меншого типу даних неявно перетворюється на змінну більшого типу даних, тоді як пониження відбувається, коли змінна більшого типу даних неявно перетворюється на змінну меншого типу даних. Використовуючи короткі змінні int, важливо знати про ці підвищення та пониження, оскільки вони можуть вплинути на результати арифметичних операцій і операцій порівняння.

    Ініціалізація за замовчуванням

Якщо коротка int змінна оголошується без ініціалізації, його значення не визначене. Іншими словами, він може містити будь-яке значення, включаючи від’ємне значення або значення поза діапазоном короткий міжн . Таким чином, добре завжди ініціалізувати змінні до відомого значення, коли вони оголошуються.

    Кастинг

Кастинг це процес перетворення змінної з одного типу даних в інший. Під час приведення змінної до a короткий міжн , значення змінної скорочується, щоб поміститися в діапазон короткий міжн . Наприклад, розглянемо такий код:

 int x = 500; short int y = (short int) x; 

У цьому коді значення х є 500 , що знаходиться за межами діапазону короткого внутр. Проте коли х відливається до a короткий int, значення скорочується, щоб відповідати діапазону короткий міжн , в результаті чого і якому присвоюється значення -12 . Тому під час приведення змінних важливо переконатися, що результуюче значення знаходиться в діапазоні типу даних, який приводиться.

    Підписаність

За замовчуванням, короткий міжн це підписаний тип даних , що означає, що він може представляти як позитивні, так і негативні значення. Проте декларувати теж можна короткий міжн як беззнаковий тип даних, використовуючи беззнаковий короткий міжн або беззнакове коротке ключове слово . Unsigned short int може представляти лише невід’ємні значення, але його діапазон подвоюється до 0 до 65,535 .

репозиторій maven
    Сумісність

Оскільки короткий міжн є меншим типом даних, ніж внутр , його можна неявно підвищити до int при використанні в арифметика або операції порівняння з int. Це означає, що а короткий міжн можна використовувати будь-де внутр очікується, без необхідності явного приведення.

    Портативність

Розмір короткий міжн може відрізнятися залежно від використовуваної платформи та компілятора. Щоб забезпечити переносимість коду на різні платформи, рекомендується використовувати файл заголовка stdint.h , який визначає цілі типи фіксованого розміру з певною шириною та знаком. Наприклад, тип int16_t це 16-розрядне ціле число зі знаком , що еквівалентно короткий міжн на більшості платформ.

    Індексація масиву

При оголошенні масиву короткі значення int , доступ до кожного елемента масиву здійснюється за допомогою індексу. Індекс може бути цілим літералом або змінною типу int. Однак, якщо індекс є змінною типу короткий міжн , його буде автоматично підвищено до an внутр перед використанням для доступу до масиву. Наприклад:

 short int arr[10]; short int i = 5; short int val = arr[i]; // i is promoted to int before being used as an index 
    Маніпуляція бітами

короткий міжн може використовуватися для операцій обробки бітів, наприклад зсув і маскування . При перенесенні a короткий міжн значення, результатом буде коротке int значення. Однак при використанні побітових операторів типу & і |, короткі значення int спочатку підвищуються до int перед виконанням операції.

    Продуктивність

У деяких випадках використання короткого int замість int може покращити продуктивність, особливо на платформах з обмеженою пам’яттю або обчислювальною потужністю. Однак це залежить від конкретної програми та обладнання, що використовується, і його слід перевіряти в кожному конкретному випадку.

    Ініціалізація за допомогою суфікса

Мова C надає суфікс для ініціалізації змінних із коротким типом int. Суфікс 's' або 'S' можна використовувати з постійним значенням для явного визначення константи short int. Наприклад:

 Short int x=10s;