DEV Community

ismoilov mukhammadumar
ismoilov mukhammadumar

Posted on

C++ Integer turlari

  1. 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
Enter fullscreen mode Exit fullscreen mode
  1. 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).

  1. 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;
}
Enter fullscreen mode Exit fullscreen mode

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)