Butun toifa – int
Mazkur toifa butun sonlar to’plamining qandaydir qism to’plami bo’lib,
uning o’lchami mashina, ya’ni kompyuter konfiguratsiyasiga bog’liq ravishda
o’zgarib turadi. Mazkur toifaga kiruvchi sonlar ikkiga bo’linadi: ishorali (signed)
va ishorasiz (unsigned). Sonlarmi xotirada tasvirlashda eng chapdagi bit ishora
uchun belgilanadi. Toifalarni signed (ishorali), unsigned (ishorasiz) kalit so’zlari
bilan modifikatsiyalash mumkin. Bunda ishorali toifa uchun ajratilgan joyning eng
chap biti ishora uchun, qolgan bitlar qiymatlarni saqlash uchun ishlatiladi, ya’ni
0 – plus, 1 - minus. Ishorasiz toifalarda esa barcha bitlar qiymatlarni saqlash uchun
ishlatiladi. Ularning har biri uchun mos ravishda qiymat qabul qilish oralig’i
mavjud:
a) ishorasiz sonlar uchun (0...2^n - 1);
b) ishoralilar uchun (-2^(n-1)… 2^(n – 1) -1).
Butun sonlar ustida turli matematik (+, -, /, *) va solishtirish amallarini
bajarish mumkin, ya’ni ==, !=, <, <=, >, >= operatorlar bilan binar amallarni
bajarish mumkin. Ammo bu operatsiyalarning natijalari int toifasiga kirmaydi, ular
bool toifasiga kiradi.
Butun qiymat qabul qiluvchi o’zgaruvchilarni e’lon qilish uchun int, short
int, long int xizmatchi so’zlaridan foydalanish mumkin. Butun qiymatli
toifalarning barchasi 1.1-jadvalda keltirilgan:
Mantiqiy toifa
Mazkur toifa mantiqiy mulohazalarning to’g’riligini aniqlash uchun, turli xil
dasturlash tillarida turlicha ifodalaniladigan ifodalarni 2 ta ko’rinishda aniqlaydi.
Mantiqiy ma’lumotlar ustida quyidagi mantiqiy operatsiyalarni bajarish mumkin:
konyunktsiya (va), dizyunktsiya (yoki) va inkor (yo’q), hamda qiyinroq bo’lgan
ekvivalentlik, implikatsiya, chiqarib tashlash va boshqa operatsiyalar. Yuqorida
keltirilgan ixtiyoriy operatsiyaning natijasi – mantiqiy qiymatga ega bo’ladi.
Mantiqiy qiymatni xotirada saqlash uchun bitta bit yetarli
C++ da and mantiqiy amalining yana bir yozilish shakli &&, or yoki ||, not
yoki ! va “inkor-yoki” amali xor kabi yozilishi mumkin.
bool toifasiga bitta misol ko’rib chiqamiz.
#include
using namespace std;
int main()
{ bool b=true;
bool s=false;
bool d1=not b || s;
bool d2=b && s;
bool d3=b xor s;
cout<system("PAUSE");
}
Natija: 0 0 1 14 1
|