Змінні c++: відмінності між версіями

[неперевірена версія][неперевірена версія]
Вилучено вміст Додано вміст
Мітки: перше редагування Візуальний редактор
Рядок 28:
З програмістської точки зору цілі числа являють собою набір бітів, до того ж один з бітів (як правило, старший) задає знак (0 означає додатне число, а 1 — від’ємне). Цілі типи даних є зовсім природними і підтримуються комп'ютером на апаратному рівні.
Для представлення негативних цілих чисел використовується або додатковий, або зворотний двійковий код.
Додатковий код негативного цілого числа в двійковій системі утворюється шляхом логічного доповнення додатного числа (усі біти заміняються протилежними) і додавання до нього одиниці. При зворотному записі від’ємне значення цілого числа зберігається як логічне доповнення до його абсолютного значення. Точне подання цілого числа залежить від конкретного комп'ютера й операційної системи.
Якщо заздалегідь відомо, що деяка цілочисельна величина є тільки додатною, не варто витрачати окремий біт для індикації знаку. Це вдвічі збільшує діапазон зміни числа. Для того щоб подати ціле число без знаку, використовується модифікатор unsigned. Для симетрії в мові С++ передбачений і модифікатор signed, але оскільки всі цілочисельні змінні за замовчуванням мають знак, це ключове слово практично не вживається. Цілі числа зі знаком змінюються від –32768 до 32767. Цілі числа без знака змінюються від 0 до 65535.
Оскільки символ у мові С++ задається у вигляді коду, він практично нічим не відрізняється від цілого числа, щоправда, у силу невеликого розміру діапазон його зміни дуже вузький. Наприклад, модифікований тип signed char дозволяє подати цілі числа від –128 до 127. Але ж код не може бути від’ємним, отже, 128 від’ємних чисел витрачаються даремно! Щоб виправити ситуацію і заодно розширити діапазон припустимих символів, у мові передбачений модифікований тип unsigned char. Символи без знаків кодуються числами від 0 до 255, як правило, цього достатньо.