Цілочисельні константи
Цілочисельні константи
Цілочисельні константи – це числа, які прямо використовуються в коді, наприклад, 123. За замовчуванням вони інтерпретуються як цілі числа int, проте це можна змінити за допомогою модифікаторів U та L (див. нижче).
Зазвичай цілочисельні константи інтерпретуються як числа у десятковій системі числення, тому для використання інших систем числення необхідно використовувати спеціальні префікси.
Система числення Приклад Префікс Коментар
10 (десяткова) 123 - -
2 (двійкова) B1111011 'B' працює лише з 8-бітними значеннями (0 to 255)
робочі символи 0-1
8 (вісімкова) 0173 "0" робочі символи 0-7
16 (шістнадцяткова) 0x7B "0x" робочі символи 0-9, A-F, a-f
База десяткової системи числення — 10. Це звичайна математика, з якою усі знайомі. Константи без префіксів вважаються десятковими.
Приклад
101 // те саме, що і 101 у десятковій системі ((1 * 10^2) + (0 * 10^1) + 1)
База двійкової (бінарної) системи числення – 2. Для запису чисел у цій системі використовують лише 0 і 1.
Приклад
B101 // те саме, що і 5 у десятковій системі ((1 * 2^2) + (0 * 2^1) + 1)
Бінарний префікс можна використовувати лише з числами розмірністю в 1 байт (8 бітів) у діапазоні від 0 до 255 (B11111111). Для запису числа типу int (16 бітів) у бінарній формі використовують наступну операцію:
myInt = (B11001100 * 256) + B10101010; // B11001100 – старший байт
База вісімкової системи числення – 8. Для запису чисел у цій системі використовують лише цифри від 0 до 7. Вісімкові значення позначають префіксом «0».
Приклад
0101 // те саме, що і 65 у десятковій системі ((1 * 8^2) + (0 * 8^1) + 1)
Увага! Можна допустити помилку, яку потім важко знайти: випадково поставити нуль перед константою, через що компілятор вважатиме її вісімковою.
База шістнадцяткової системи числення – 16. Для запису чисел у цій системі використовують цифри від 0 до 9 та літери A, B, C, D, E, F, А має значення 10, В – 11, а F, відповідно, — 15. Шістнадцяткові значення позначають префіксом «0х». Зверніть увагу, що літери A-F можна вводити як у верхньому, так і в нижньому (a-f) регістрах.
Приклад
0x101 // те саме, що і 257 у десятковій системі ((1 * 16^2) + (0 * 16^1) + 1)
U & L модифікатори
За замовчуванням цілочисельні константи інтерпретуються як цілі числа з відповідними обмеженнями. Аби задати цілочисельній константі інший тип даних, поставте після неї:• 'u' або 'U', аби поставити константу у беззнаковий тип даних. Приклад: 33u
• a 'l' or 'L', аби поставити константу у тип даних long. Приклад: 100000L
• a 'ul' or 'UL', аби поставити константу у тип даних unsigned long. Приклад: 32767ul
Повернутись до головної
Коментарі 0