- Integer bilan tanishing
- Ma'lumot turi Hajmi (bayt) Taxminiy diapazoni Qachon ishlatiladi?
short 2 bayt -32,768 dan 32,767 gacha Kichik sonlar uchun
int 4 bayt -2 mlrd dan +2 mlrd gacha Standart tanlov
long long 8 bayt ±9 quintillion (juda katta!) Ulkan sonlar uchun
- Signed vs Unsigned: "Minus" kerakmi? Har bir butun son turi ikki xil ko'rinishda bo'lishi mumkin:
signed (ishorali): Ham manfiy, ham musbat sonlarni saqlaydi. (Odatda barcha turlar shunday).
unsigned (ishorasiz): Faqat musbat sonlarni saqlaydi
Foydasi: Manfiy sonlar hisobiga musbat sonlar sig'imi ikki barobar ortadi!
Misol: unsigned int yosh = 25; (Chunki yosh hech qachon manfiy bo'lmaydi).
- Koddagi ko'rinishi
cpp
#include <iostream>
using namespace std;
int main() {
short kichik_son = 100;
int oddiy_son = 1500000;
long long ulkan_son = 8000000000LL; // LL - long long ekanini bildiradi
unsigned int faqat_musbat = 4000000000U; // U - unsigned
cout << "Kichik: " << kichik_son << endl;
cout << "Katta: " << ulkan_son << endl;
return 0;
}
Agar siz short (maksimal 32,767) qutisiga 32,768 sonini solmoqchi bo'lsangiz, nima bo'ladi?
Bu xuddi soat milining 12 dan keyin 1 ga o'tib ketishiga o'xshaydi: son birdaniga eng kichik manfiy songa (-32,768) aylanib qoladi! Buni Integer Overflow deb atashadi va bu juda ko'p xatolarga sabab bo'ladi
Top comments (0)