Ціле число (англ. Integer) — поширений тип даних, що представляє ціле число.
Тип даних «ціле число» використовується в більшості мов програмування. Як правило, мови програмування підтримують різні типи цілих чисел, з різною кількістю двійкових розрядів і діапазоном значень. Наприклад, у мові Паскаль (версія Free Pascal для інтелівських процесорів) це:
- Byte (0 .. 255)
- Shortint (-128 .. 127)
- Smallint (-32768 .. 32767)
- Word (0 .. 65535)
- Longint (-2147483648 .. 2147483647)
- Longword (0 .. 4294967295)
- Int64(-9223372036854775808 .. 9223372036854775807)
- QWord (0 .. 18446744073709551615)
Як правило, діапазон значень визначається кількістю байтів, що відведена під конкретний цілий тип у пам'яті комп'ютера.
Подання
У пам'яті типової комп'ютерної системи ціле число представлено у вигляді ланцюжка бітів фіксованого (кратного 8) розміру. Ця послідовність нулів і одиниць - не що інше, як двійковий запис числа, оскільки зазвичай для подання чисел у сучасній комп'ютерній техніці використовується позиційний двійковий код. Діапазон цілих чисел, як правило, визначається кількістю байтів в пам'яті комп'ютера, що відводяться під одну змінну.
Багато мов програмування пропонують вибір між короткими (англ. short), довгими (англ. long) і цілими стандартної довжини. Довжина стандартного цілого типу, як правило, збігається з розміром машинного слова на цільовій платформі. Для 16-розрядних операційних систем - цей тип (int) складає 2 байта і збігається з типом short int (можна використовувати як short, опускаючи слово int), для 32-розрядних операційних систем він буде дорівнювати 4 байти та збігатися з довгим цілим long int (можна використовувати як long, опускаючи слово int). Коротке ціле short int, для 16-розрядних операційних систем, 32-розрядних операційних систем, і для більшості 64-розрядних операційних систем складає - 2 байти. Також в деяких мовах може використовуватися тип даних подвійне довге long long, який складає 8 байт.
Для 64-розрядних операційних систем враховуючи різницю моделей даних (LP64, LLP64, ILP64), уявлення цілого типу на різних моделях даних може відрізнятися між собою. Тип int і long може складати як 4, так і 8 байт.
Варто відзначити, що кожна мова програмування реалізує свою сигнатуру представлення цілих чисел, яка може відрізняться від міжнародних стандартів, але зобов'язана їх підтримувати. Наприклад можна віднести крос-платформену бібліотеку Qt, де ціле представляється типом qintX і quintX, де X - 8,16,32,64.
Цілі типи поділяються на беззнакові (англ. unsigned) і знакові (англ. signed).
Беззнакові цілі
Беззнакові цілі представляють тільки невід'ємні числа, при цьому всі розряди коду використовуються для подання значення числа і максимальне число відповідає одиничним значенням коду у всіх розрядах: 111 … 111. M-байтова змінна цілого типу без знака, очевидно, приймає значення від 0 до +28m−1.
У C і C++ для позначення беззнакових типів використовується модифікатор unsigned. У C# для цього використовується префікс u
(від англ. unsigned). Наприклад, для оголошення беззнакового цілого, рівного за розміром одному машинному слову в мовах C/C++ використовується тип unsigned int
, в C# — uint
.
Беззнакові цілі, зокрема, використовуються для адресації пам'яті, представлення символів.
Іноді в літературі зустрічаються рекомендації не використовувати тип беззнакові цілі, оскільки він може бути не реалізований процесором комп'ютера, однак навряд чи цю пораду можна вважати актуальною — більшість сучасних процесорів (у тому числі x86-сумісні) однаково добре працюють як зі знаковими, так і з беззнаковими цілими.
У деяких мовах, наприклад java, беззнакові цілі типи (за винятком символьного) відсутні.
Неправильне використання беззнакових цілих може призводити до неочевидних помилок через виникаюче переповнення. У наведеному нижче прикладі використання беззнакових цілих у циклі в C і C++ перетворює цей цикл у нескінченний:
char ar[N]; for (unsigned int i = N-1; i >= 0; --i) ar[i] = i;
Цілі зі знаком
Існує кілька різних способів представлення цілих значень в двійковому коді у виді величини зі знаком. Зокрема можна назвати прямий і зворотний коди. Знак кодується в старшому розряді числа: 0 відповідає позитивним, а 1 негативним числам.
Можуть бути використані і більш екзотичні представлення негативних чисел, такі, як, наприклад, система числення за основою -2.
Однак для більшості сучасних процесорів звичайним представленням чисел зі знаком є додатковий код. Максимальне позитивне число представляється двійковим кодом 0111 ... 111, максимальне по модулю негативне кодом 1000 ... 000, а код 111 ... 111 відповідає -1. Таке представлення чисел відповідає найбільш простій реалізації арифметичних логічних пристроїв процесора на логічних вентилях і дозволяє використовувати один і той самий алгоритм додавання і віднімання як для беззнакових чисел, так і для чисел зі знаком (відмінність - тільки в умовах, при яких вважається, що настало арифметичне переповнення).
М-байтова змінна цілого типу зі знаком приймає значення від −28m-1 до +28m-1−1.
Граничні значення для різних бітностей
Нижче представлена таблиця граничних значень десяткових чисел для різних бітностей при кодуванні додатковим кодом. У колонці «Максимальне десяткове» спочатку йде максимальне значення цілого без знаку, а під ним мінімальне і максимальне ціле зі знаком.
Біт | Байт | Дв. слів | Максимальне десяткове | Дес. цифр |
---|---|---|---|---|
4 | ½ | ⅛ | 15 -8 +7 | 2 1 1 |
8 | 1 | ¼ | 255 -128 +127 | 3 3 3 |
16 | 2 | ½ | 65.535 -32.768 +32.767 | 5 5 5 |
24 | 3 | ¾ | 16.777.215 -8.388.608 +8.388.607 | 8 7 7 |
32 | 4 | 1 | 4.294.967.295 -2.147.483.648 +2.147.483.647 | 10 10 10 |
48 | 6 | 1½ | 281.474.976.710.655 -140.737.488.355.328 +140.737.488.355.327 | 15 15 15 |
64 | 8 | 2 | 18.446.744.073.709.551.615 -9.223.372.036.854.775.808 +9.223.372.036.854.775.807 | 20 19 19 |
96 | 12 | 3 | 79.228.162.514.264.337.593.543.950.335 -39.614.081.257.132.168.796.771.975.168 +39.614.081.257.132.168.796.771.975.167 | 29 29 29 |
128 | 16 | 4 | 340.282.366.920.938.463.463.374.607.431.768.211.455 -170.141.183.460.469.231.731.687.303.715.884.105.728 +170.141.183.460.469.231.731.687.303.715.884.105.727 | 39 39 39 |
256 | 32 | 8 | 115.792.089.237.316.195.(...).584.007.913.129.639.935 -57.896.044.618.658.097.(...).792.003.956.564.819.968 +57.896.044.618.658.097.(...).792.003.956.564.819.967 | 78 77 77 |
512 | 64 | 16 | 13.407.807.929.942.597.099.(...).946.433.649.006.084.095 -6.703.903.964.971.298.549.(...).973.216.824.503.042.048 +6.703.903.964.971.298.549.(...).973.216.824.503.042.047 | 155 154 154 |
1.024 | 128 | 32 | 179.769.313.486.231.590.(...).356.329.624.224.137.215 -89.884.656.743.115.795.(...).678.164.812.112.068.608 +89.884.656.743.115.795.(...).678.164.812.112.068.607 | 309 308 308 |
2.048 | 256 | 64 | 32.317.006.071.311.007.(...).853.611.059.596.230.655 -16.158.503.035.655.503.(...).926.805.529.798.115.328 +16.158.503.035.655.503.(...).926.805.529.798.115.327 | 617 617 617 |
4.096 | 512 | 128 | 1.044.388.881.413.152.506.(...).708.340.403.154.190.335 -522.194.440.706.576.253.(...).354.170.201.577.095.168 +522.194.440.706.576.253.(...).354.170.201.577.095.167 | 1.234 1.233 1.233 |
8.192 | 1.024 | 256 | 1.090.748.135.619.415.929.(...).505.665.475.715.792.895 -545.374.067.809.707.964.(...).252.832.737.857.896.448 +545.374.067.809.707.964.(...).252.832.737.857.896.447 | 2.467 2.466 2.466 |
16.384 | 2.048 | 512 | 1.189.731.495.357.231.765.(...).027.290.669.964.066.815 -594.865.747.678.615.882.(...).513.645.334.982.033.408 +594.865.747.678.615.882.(...).513.645.334.982.033.407 | 4.933 4.932 4.932 |
32.768 | 4.096 | 1.024 | 1.415.461.031.044.954.789.(...).668.104.633.712.377.855 -707.730.515.522.477.394.(...).334.052.316.856.188.928 +707.730.515.522.477.394.(...).334.052.316.856.188.927 | 9.865 9.864 9.864 |
65.536 | 8.192 | 2.048 | 2.003.529.930.406.846.464.(...).587.895.905.719.156.735 -1.001.764.965.203.423.232.(...).793.947.952.859.578.368 +1.001.764.965.203.423.232.(...).793.947.952.859.578.367 | 19.729 19.729 19.729 |
131.072 | 16.384 | 4.096 | 4.014.132.182.036.063.039.(...).812.318.570.934.173.695 -2.007.066.091.018.031.519.(...).906.159.285.467.086.848 +2.007.066.091.018.031.519.(...).906.159.285.467.086.847 | 39.457 39.457 39.457 |
262.144 | 32.768 | 8.192 | 16.113.257.174.857.604.736(...).605.349.934.298.300.415 -8.056.628.587.428.802.368.(...).302.674.967.149.150.208 +8.056.628.587.428.802.368.(...).302.674.967.149.150.207 | 78.914 78.913 78.913 |
524.288 | 65.536 | 16.384 | 259.637.056.783.100.077.(...).364.528.226.185.773.055 -129.818.528.391.550.038.(...).182.264.113.092.886.528 +129.818.528.391.550.038.(...).182.264.113.092.886.527 | 157.827 157.827 157.827 |
1.048.576 | 131.071 | 32.767 | 67.411.401.254.990.734.(...).119.068.940.335.579.135 -33.705.700.627.495.367.(...).559.534.470.167.789.568 +33.705.700.627.495.367.(...).559.534.470.167.789.567 | 315.653 315.653 315.653 |
Операції над цілими
Арифметичні операції
До цілочислових значень застосовні в першу чергу арифметичні операції. Нижче наведені часто використовувані (у дужках вказані їх позначення в різних мовах програмування і у їм аналогічних засобах).
- Порівняння (англ. comparision). Тут застосовні співвідношення «дорівнює» («=»; «==»; «eq»), «не дорівнює» («! =»; «<>»; «Ne»), «більше» («>»; « gt »),«більше або дорівнює»(«> = »;« ge »),«менше»(« <»;« lt ») і «менше або дорівнює»(« <= »;« le »).
- Інкремент (англ. increment; «++») і декремент (англ. decrement; «--») - арифметичне збільшення або зменшення числа на одиницю. Виділено в окремі операції через часте використання зі змінними-лічильниками в програмуванні.
- Додавання(англ. addition; «+») і віднімання (англ. substraction; «-»).
- Множення (англ. multiplication; "*").
- Ділення (англ. division; «/»; «\») і отримання залишку від ділення (англ. modulo; «%»). Деякі процесори (наприклад, архітектури x86) дозволяють здійснювати обидві ці операції за одну інструкцію.
- Інверсія знака (англ. negation) і отримання абсолютного значення (англ. absolute).
- Отримання знака. Результатом такої операції зазвичай є 1 для позитивних значень, -1 - для негативних і 0 - для нуля.
- Піднесення до степеня («^», «**»).
У деяких мовах програмування для лаконічності існують оператори, які дозволяють здійснювати арифметичну операцію з присвоєнням. Наприклад, «+=» додає поточне значення змінної ліворуч до виразу праворуч і поміщає результат у вихідну змінну. Так само в деяких мовах і середовищах доступна поєднана операція MulDiv, яка помножує на одне число, а потім ділить результат на друге.
Зазвичай найдорожчими за швидкістю операціями є множення і ділення (одержання залишку від ділення).
У пам'яті комп'ютера для зберігання цілих чисел зазвичай відводяться комірки фіксованого розміру. Через це операції збільшення та зменшення значень можуть призводити до переповнення, що обертається спотворенням результату. Деякі мови програмування дозволяють здійснювати виклик виключення в таких випадках. Крім цього можна визначати поведінку при переповненні:
- Циклічна операція (зазвичай відбувається за умовчанням). Наприклад, якщо зробити інкремент 8-бітного беззнакового значення 255, то вийде 0.
- Операція з насиченням. Якщо буде досягнута межа, то кінцевим значенням буде граничне. Наприклад, якщо до 8-бітного беззнакового числа 250 додати 10, то вийде 255. Додавання, віднімання та множення з насиченням зазвичай застосовується при роботі з кольором.
Побітові операції
Крім математичних, до цілих чисел застосовні бітові операції, які засновані на особливостях позиційного двійкового кодування. Зазвичай вони виконуються значно швидше, ніж арифметичні операції і тому їх використовують як більш оптимальні аналоги.
- Бітове зрушення вліво з доповненням нулями аналогічний множенню числа на ступінь двійки (кількість біт зрушення відповідає ступеню двійки).
- Бітове зрушення вправо аналогічний поділу на ступінь двійки (кількість біт зрушення відповідає ступеню двійки). Деякі мови програмування і процесори підтримують арифметичний зсув, який дозволяє зберігати знак у цілих зі знаком (зберігається значення старшого біта).
- У цілих зі знаком знак можна дізнатися за допомогою старшого біту (у негативних він встановлений).
- Читання і встановлення молодшого біта дозволяє управляти парністю (у непарних чисел він встановлений).
- Побітове «І» над певною кількістю молодших біт дозволяє дізнатися залишок від ділення на ступінь двійки (ступінь відповідає кількості біт).
- Побітове «АБО» над певною кількістю молодших біт і подальший інкремент округлює число на значення, рівне ступеню двійки (ступінь відповідає кількості біт) - використовується для вирівнювання адрес і розмірів на певне значення.
Робота з рядками
Досить частими операціями є отримання рядка з числового значення у внутрішньому поданні і навпаки - число з рядка. При перетворенні в рядок зазвичай доступні засоби задання форматування залежно від мови користувача.
Нижче перераховані деякі з представлень чисел рядком.
- Десяткове число (англ. decimal). При отриманні рядка зазвичай можна задати роздільники розрядів, кількість знаків (додаються лідируючі нулі якщо їх менше) і обов'язкове значення знака числа.
- Число у системі числення, яке є степенем двійки. Найчастіші: двійкова (binary англ. Binary), вісімкова (англ. octal) і шістнадцяткова система (англ. hexadecimal). При отриманні рядків зазвичай можна задати роздільники груп цифр і мінімальну кількість цифр (проводиться доповнення нулями, якщо їх менше). Так як ці подання найчастіше використовуються в програмуванні, то тут зазвичай доступні відповідні функції. Наприклад, вказівка префікса і постфікса для отримання значення відповідно до синтаксису мови. Для 16-кової актуальне зазначення регістру символів, а також обов'язкове додавання нуля, якщо перша цифра представлена буквою (щоб число не визначалося як строковий ідентифікатор).
- Римське число (англ. roman).
- Словесне представлення (у тому числі сума прописом) - число представлене словами на зазначеній натуральній мові.
Перелічувальний тип
До цілих відноситься також перелічувальний тип. Змінні перелічувального типу приймають кінцевий заздалегідь заданий набір значень. Розмір набору не визначається числом байтів, використовуваних для представлення цілочисельних значень змінних такого типу.
Наприклад, у мові Python логічний тип є підтипом цілого і використовує назви False і True, які при переведенні до цілого отримують значення 0 і 1 відповідно.
Див. також
Посилання
- Cheever, Eric. . Swarthmore College. Архів оригіналу за 9 жовтня 2021. Процитовано 11 вересня 2011.
- Урок 7. Розширені арифметичні операції з цілими числами [ 22 травня 2015 у Wayback Machine.], Низькорівневе програмування, [en]
- Types, Values and Variables [ 28 лютого 2012 у Wayback Machine.], Java Languaege Specification, 2-nd ed.
- «Чи потрібні беззнакові цілі?» [ 22 травня 2015 у Wayback Machine.] (22 січня 2013)
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Cile chislo angl Integer poshirenij tip danih sho predstavlyaye cile chislo Tip danih cile chislo vikoristovuyetsya v bilshosti mov programuvannya Yak pravilo movi programuvannya pidtrimuyut rizni tipi cilih chisel z riznoyu kilkistyu dvijkovih rozryadiv i diapazonom znachen Napriklad u movi Paskal versiya Free Pascal dlya intelivskih procesoriv ce Byte 0 255 Shortint 128 127 Smallint 32768 32767 Word 0 65535 Longint 2147483648 2147483647 Longword 0 4294967295 Int64 9223372036854775808 9223372036854775807 QWord 0 18446744073709551615 Yak pravilo diapazon znachen viznachayetsya kilkistyu bajtiv sho vidvedena pid konkretnij cilij tip u pam yati komp yutera PodannyaU pam yati tipovoyi komp yuternoyi sistemi cile chislo predstavleno u viglyadi lancyuzhka bitiv fiksovanogo kratnogo 8 rozmiru Cya poslidovnist nuliv i odinic ne sho inshe yak dvijkovij zapis chisla oskilki zazvichaj dlya podannya chisel u suchasnij komp yuternij tehnici vikoristovuyetsya pozicijnij dvijkovij kod Diapazon cilih chisel yak pravilo viznachayetsya kilkistyu bajtiv v pam yati komp yutera sho vidvodyatsya pid odnu zminnu Bagato mov programuvannya proponuyut vibir mizh korotkimi angl short dovgimi angl long i cilimi standartnoyi dovzhini Dovzhina standartnogo cilogo tipu yak pravilo zbigayetsya z rozmirom mashinnogo slova na cilovij platformi Dlya 16 rozryadnih operacijnih sistem cej tip int skladaye 2 bajta i zbigayetsya z tipom short int mozhna vikoristovuvati yak short opuskayuchi slovo int dlya 32 rozryadnih operacijnih sistem vin bude dorivnyuvati 4 bajti ta zbigatisya z dovgim cilim long int mozhna vikoristovuvati yak long opuskayuchi slovo int Korotke cile short int dlya 16 rozryadnih operacijnih sistem 32 rozryadnih operacijnih sistem i dlya bilshosti 64 rozryadnih operacijnih sistem skladaye 2 bajti Takozh v deyakih movah mozhe vikoristovuvatisya tip danih podvijne dovge long long yakij skladaye 8 bajt Dlya 64 rozryadnih operacijnih sistem vrahovuyuchi riznicyu modelej danih LP64 LLP64 ILP64 uyavlennya cilogo tipu na riznih modelyah danih mozhe vidriznyatisya mizh soboyu Tip int i long mozhe skladati yak 4 tak i 8 bajt Varto vidznachiti sho kozhna mova programuvannya realizuye svoyu signaturu predstavlennya cilih chisel yaka mozhe vidriznyatsya vid mizhnarodnih standartiv ale zobov yazana yih pidtrimuvati Napriklad mozhna vidnesti kros platformenu biblioteku Qt de cile predstavlyayetsya tipom qintX i quintX de X 8 16 32 64 Cili tipi podilyayutsya na bezznakovi angl unsigned i znakovi angl signed Bezznakovi cili Bezznakovi cili predstavlyayut tilki nevid yemni chisla pri comu vsi rozryadi kodu vikoristovuyutsya dlya podannya znachennya chisla i maksimalne chislo vidpovidaye odinichnim znachennyam kodu u vsih rozryadah 111 111 M bajtova zminna cilogo tipu bez znaka ochevidno prijmaye znachennya vid 0 do 28m 1 U C i C dlya poznachennya bezznakovih tipiv vikoristovuyetsya modifikator unsigned U C dlya cogo vikoristovuyetsya prefiks u vid angl unsigned Napriklad dlya ogoloshennya bezznakovogo cilogo rivnogo za rozmirom odnomu mashinnomu slovu v movah C C vikoristovuyetsya tip unsigned int v C uint Bezznakovi cili zokrema vikoristovuyutsya dlya adresaciyi pam yati predstavlennya simvoliv Inodi v literaturi zustrichayutsya rekomendaciyi ne vikoristovuvati tip bezznakovi cili oskilki vin mozhe buti ne realizovanij procesorom komp yutera odnak navryad chi cyu poradu mozhna vvazhati aktualnoyu bilshist suchasnih procesoriv u tomu chisli x86 sumisni odnakovo dobre pracyuyut yak zi znakovimi tak i z bezznakovimi cilimi U deyakih movah napriklad java bezznakovi cili tipi za vinyatkom simvolnogo vidsutni Nepravilne vikoristannya bezznakovih cilih mozhe prizvoditi do neochevidnih pomilok cherez vinikayuche perepovnennya U navedenomu nizhche prikladi vikoristannya bezznakovih cilih u cikli v C i C peretvoryuye cej cikl u neskinchennij char ar N for unsigned int i N 1 i gt 0 i ar i i Cili zi znakom Div takozh Predstavlennya chisel zi znakom Isnuye kilka riznih sposobiv predstavlennya cilih znachen v dvijkovomu kodi u vidi velichini zi znakom Zokrema mozhna nazvati pryamij i zvorotnij kodi Znak koduyetsya v starshomu rozryadi chisla 0 vidpovidaye pozitivnim a 1 negativnim chislam Mozhut buti vikoristani i bilsh ekzotichni predstavlennya negativnih chisel taki yak napriklad sistema chislennya za osnovoyu 2 Odnak dlya bilshosti suchasnih procesoriv zvichajnim predstavlennyam chisel zi znakom ye dodatkovij kod Maksimalne pozitivne chislo predstavlyayetsya dvijkovim kodom 0111 111 maksimalne po modulyu negativne kodom 1000 000 a kod 111 111 vidpovidaye 1 Take predstavlennya chisel vidpovidaye najbilsh prostij realizaciyi arifmetichnih logichnih pristroyiv procesora na logichnih ventilyah i dozvolyaye vikoristovuvati odin i toj samij algoritm dodavannya i vidnimannya yak dlya bezznakovih chisel tak i dlya chisel zi znakom vidminnist tilki v umovah pri yakih vvazhayetsya sho nastalo arifmetichne perepovnennya M bajtova zminna cilogo tipu zi znakom prijmaye znachennya vid 28m 1 do 28m 1 1 Granichni znachennya dlya riznih bitnostej Nizhche predstavlena tablicya granichnih znachen desyatkovih chisel dlya riznih bitnostej pri koduvanni dodatkovim kodom U kolonci Maksimalne desyatkove spochatku jde maksimalne znachennya cilogo bez znaku a pid nim minimalne i maksimalne cile zi znakom Bit Bajt Dv sliv Maksimalne desyatkove Des cifr 4 15 8 7 2 1 1 8 1 255 128 127 3 3 3 16 2 65 535 32 768 32 767 5 5 5 24 3 16 777 215 8 388 608 8 388 607 8 7 7 32 4 1 4 294 967 295 2 147 483 648 2 147 483 647 10 10 10 48 6 1 281 474 976 710 655 140 737 488 355 328 140 737 488 355 327 15 15 15 64 8 2 18 446 744 073 709 551 615 9 223 372 036 854 775 808 9 223 372 036 854 775 807 20 19 19 96 12 3 79 228 162 514 264 337 593 543 950 335 39 614 081 257 132 168 796 771 975 168 39 614 081 257 132 168 796 771 975 167 29 29 29 128 16 4 340 282 366 920 938 463 463 374 607 431 768 211 455 170 141 183 460 469 231 731 687 303 715 884 105 728 170 141 183 460 469 231 731 687 303 715 884 105 727 39 39 39 256 32 8 115 792 089 237 316 195 584 007 913 129 639 935 57 896 044 618 658 097 792 003 956 564 819 968 57 896 044 618 658 097 792 003 956 564 819 967 78 77 77 512 64 16 13 407 807 929 942 597 099 946 433 649 006 084 095 6 703 903 964 971 298 549 973 216 824 503 042 048 6 703 903 964 971 298 549 973 216 824 503 042 047 155 154 154 1 024 128 32 179 769 313 486 231 590 356 329 624 224 137 215 89 884 656 743 115 795 678 164 812 112 068 608 89 884 656 743 115 795 678 164 812 112 068 607 309 308 308 2 048 256 64 32 317 006 071 311 007 853 611 059 596 230 655 16 158 503 035 655 503 926 805 529 798 115 328 16 158 503 035 655 503 926 805 529 798 115 327 617 617 617 4 096 512 128 1 044 388 881 413 152 506 708 340 403 154 190 335 522 194 440 706 576 253 354 170 201 577 095 168 522 194 440 706 576 253 354 170 201 577 095 167 1 234 1 233 1 233 8 192 1 024 256 1 090 748 135 619 415 929 505 665 475 715 792 895 545 374 067 809 707 964 252 832 737 857 896 448 545 374 067 809 707 964 252 832 737 857 896 447 2 467 2 466 2 466 16 384 2 048 512 1 189 731 495 357 231 765 027 290 669 964 066 815 594 865 747 678 615 882 513 645 334 982 033 408 594 865 747 678 615 882 513 645 334 982 033 407 4 933 4 932 4 932 32 768 4 096 1 024 1 415 461 031 044 954 789 668 104 633 712 377 855 707 730 515 522 477 394 334 052 316 856 188 928 707 730 515 522 477 394 334 052 316 856 188 927 9 865 9 864 9 864 65 536 8 192 2 048 2 003 529 930 406 846 464 587 895 905 719 156 735 1 001 764 965 203 423 232 793 947 952 859 578 368 1 001 764 965 203 423 232 793 947 952 859 578 367 19 729 19 729 19 729 131 072 16 384 4 096 4 014 132 182 036 063 039 812 318 570 934 173 695 2 007 066 091 018 031 519 906 159 285 467 086 848 2 007 066 091 018 031 519 906 159 285 467 086 847 39 457 39 457 39 457 262 144 32 768 8 192 16 113 257 174 857 604 736 605 349 934 298 300 415 8 056 628 587 428 802 368 302 674 967 149 150 208 8 056 628 587 428 802 368 302 674 967 149 150 207 78 914 78 913 78 913 524 288 65 536 16 384 259 637 056 783 100 077 364 528 226 185 773 055 129 818 528 391 550 038 182 264 113 092 886 528 129 818 528 391 550 038 182 264 113 092 886 527 157 827 157 827 157 827 1 048 576 131 071 32 767 67 411 401 254 990 734 119 068 940 335 579 135 33 705 700 627 495 367 559 534 470 167 789 568 33 705 700 627 495 367 559 534 470 167 789 567 315 653 315 653 315 653Operaciyi nad cilimiArifmetichni operaciyi Do cilochislovih znachen zastosovni v pershu chergu arifmetichni operaciyi Nizhche navedeni chasto vikoristovuvani u duzhkah vkazani yih poznachennya v riznih movah programuvannya i u yim analogichnih zasobah Porivnyannya angl comparision Tut zastosovni spivvidnoshennya dorivnyuye eq ne dorivnyuye lt gt Ne bilshe gt gt bilshe abo dorivnyuye gt ge menshe lt lt i menshe abo dorivnyuye lt le Inkrement angl increment i dekrement angl decrement arifmetichne zbilshennya abo zmenshennya chisla na odinicyu Vidileno v okremi operaciyi cherez chaste vikoristannya zi zminnimi lichilnikami v programuvanni Dodavannya angl addition i vidnimannya angl substraction Mnozhennya angl multiplication Dilennya angl division i otrimannyazalishku vid dilennya angl modulo Deyaki procesori napriklad arhitekturi x86 dozvolyayut zdijsnyuvati obidvi ci operaciyi za odnu instrukciyu Inversiya znaka angl negation i otrimannya absolyutnogo znachennya angl absolute Otrimannya znaka Rezultatom takoyi operaciyi zazvichaj ye 1 dlya pozitivnih znachen 1 dlya negativnih i 0 dlya nulya Pidnesennya do stepenya U deyakih movah programuvannya dlya lakonichnosti isnuyut operatori yaki dozvolyayut zdijsnyuvati arifmetichnu operaciyu z prisvoyennyam Napriklad dodaye potochne znachennya zminnoyi livoruch do virazu pravoruch i pomishaye rezultat u vihidnu zminnu Tak samo v deyakih movah i seredovishah dostupna poyednana operaciya MulDiv yaka pomnozhuye na odne chislo a potim dilit rezultat na druge Zazvichaj najdorozhchimi za shvidkistyu operaciyami ye mnozhennya i dilennya oderzhannya zalishku vid dilennya U pam yati komp yutera dlya zberigannya cilih chisel zazvichaj vidvodyatsya komirki fiksovanogo rozmiru Cherez ce operaciyi zbilshennya ta zmenshennya znachen mozhut prizvoditi do perepovnennya sho obertayetsya spotvorennyam rezultatu Deyaki movi programuvannya dozvolyayut zdijsnyuvati viklik viklyuchennya v takih vipadkah Krim cogo mozhna viznachati povedinku pri perepovnenni Ciklichna operaciya zazvichaj vidbuvayetsya za umovchannyam Napriklad yaksho zrobiti inkrement 8 bitnogo bezznakovogo znachennya 255 to vijde 0 Operaciya z nasichennyam Yaksho bude dosyagnuta mezha to kincevim znachennyam bude granichne Napriklad yaksho do 8 bitnogo bezznakovogo chisla 250 dodati 10 to vijde 255 Dodavannya vidnimannya ta mnozhennya z nasichennyam zazvichaj zastosovuyetsya pri roboti z kolorom Pobitovi operaciyi Krim matematichnih do cilih chisel zastosovni bitovi operaciyi yaki zasnovani na osoblivostyah pozicijnogo dvijkovogo koduvannya Zazvichaj voni vikonuyutsya znachno shvidshe nizh arifmetichni operaciyi i tomu yih vikoristovuyut yak bilsh optimalni analogi Bitove zrushennya vlivo z dopovnennyam nulyami analogichnij mnozhennyu chisla na stupin dvijki kilkist bit zrushennya vidpovidaye stupenyu dvijki Bitove zrushennya vpravo analogichnij podilu na stupin dvijki kilkist bit zrushennya vidpovidaye stupenyu dvijki Deyaki movi programuvannya i procesori pidtrimuyut arifmetichnij zsuv yakij dozvolyaye zberigati znak u cilih zi znakom zberigayetsya znachennya starshogo bita U cilih zi znakom znak mozhna diznatisya za dopomogoyu starshogo bitu u negativnih vin vstanovlenij Chitannya i vstanovlennya molodshogo bita dozvolyaye upravlyati parnistyu u neparnih chisel vin vstanovlenij Pobitove I nad pevnoyu kilkistyu molodshih bit dozvolyaye diznatisya zalishok vid dilennya na stupin dvijki stupin vidpovidaye kilkosti bit Pobitove ABO nad pevnoyu kilkistyu molodshih bit i podalshij inkrement okruglyuye chislo na znachennya rivne stupenyu dvijki stupin vidpovidaye kilkosti bit vikoristovuyetsya dlya virivnyuvannya adres i rozmiriv na pevne znachennya Robota z ryadkami Dosit chastimi operaciyami ye otrimannya ryadka z chislovogo znachennya u vnutrishnomu podanni i navpaki chislo z ryadka Pri peretvorenni v ryadok zazvichaj dostupni zasobi zadannya formatuvannya zalezhno vid movi koristuvacha Nizhche pererahovani deyaki z predstavlen chisel ryadkom Desyatkove chislo angl decimal Pri otrimanni ryadka zazvichaj mozhna zadati rozdilniki rozryadiv kilkist znakiv dodayutsya lidiruyuchi nuli yaksho yih menshe i obov yazkove znachennya znaka chisla Chislo u sistemi chislennya yake ye stepenem dvijki Najchastishi dvijkova binary angl Binary visimkova angl octal i shistnadcyatkova sistema angl hexadecimal Pri otrimanni ryadkiv zazvichaj mozhna zadati rozdilniki grup cifr i minimalnu kilkist cifr provoditsya dopovnennya nulyami yaksho yih menshe Tak yak ci podannya najchastishe vikoristovuyutsya v programuvanni to tut zazvichaj dostupni vidpovidni funkciyi Napriklad vkazivka prefiksa i postfiksa dlya otrimannya znachennya vidpovidno do sintaksisu movi Dlya 16 kovoyi aktualne zaznachennya registru simvoliv a takozh obov yazkove dodavannya nulya yaksho persha cifra predstavlena bukvoyu shob chislo ne viznachalosya yak strokovij identifikator Rimske chislo angl roman Slovesne predstavlennya u tomu chisli suma propisom chislo predstavlene slovami na zaznachenij naturalnij movi Perelichuvalnij tipDo cilih vidnositsya takozh perelichuvalnij tip Zminni perelichuvalnogo tipu prijmayut kincevij zazdalegid zadanij nabir znachen Rozmir naboru ne viznachayetsya chislom bajtiv vikoristovuvanih dlya predstavlennya cilochiselnih znachen zminnih takogo tipu Napriklad u movi Python logichnij tip ye pidtipom cilogo i vikoristovuye nazvi False i True yaki pri perevedenni do cilogo otrimuyut znachennya 0 i 1 vidpovidno Div takozhDopovnyalnij kod Dovga arifmetikaPosilannyaCheever Eric Swarthmore College Arhiv originalu za 9 zhovtnya 2021 Procitovano 11 veresnya 2011 Urok 7 Rozshireni arifmetichni operaciyi z cilimi chislami 22 travnya 2015 u Wayback Machine Nizkorivneve programuvannya en Types Values and Variables 28 lyutogo 2012 u Wayback Machine Java Languaege Specification 2 nd ed Chi potribni bezznakovi cili 22 travnya 2015 u Wayback Machine 22 sichnya 2013