C# dasturlash tilida kasrlar

RMAG news

Bilamizki, C# dasturlash tilida sonlar 2 turga bo’linadi, butun sonlar va kasr sonlar. Bugun kasr sonlar va ularga aloqador bir nechta xususiyatlar haqida gaplashib o’tamiz.

Kasr sonlarning barchasi value type hisoblanadi. Kasr sonlarning butun qismidan so’ng raqamlari bo’ladi. Masalan, 2.7, 3.54, 4.976. C# dasturlash tilida kasr sonlarni float, double, decimal turlari bilan ifodalasa bo’ladi va o’z o’rnida ularning bir-biridan farqli tomonlari mavjud.

Float

float son = 11.5f. Bu float tipining C# tilida e’lon qilish va qiymat berishning umumiy ko’rinishi.

Float tipidagi o’zgaruvchini oxirida albatta f yoki F harfini yozish kerak, aks holda xatolik beradi.
Float tipidagi o’zgaruvchilar butun qismidan keyin maksimal 6~9 tagacha sonlarni o’zida saqlay oladi.
Aniqlanish sohasi esa ±1.5 x 10e−45 to ±3.4 x 10e38 shu oraliqda.
Xotiradan 4byte egallaydi.

Double

double son = 34.9. Bu double tipining C# tilida e’lon qilish va qiymat berishning umumiy ko’rinishi.

Double tipidagi o’zgaruvchini oxirida hech qanday harf qo’shib yozish shart emas. Ixtiyoriy ravishda d yoki D harfini qo’shib qo’ysa bo’ladi.
Double tipidagi o’zgaruvchilar butun qismidan keyin maksimal 15~17 tagacha sonlarni o’zida saqlay oladi.
Aniqlanish sohasi ±5.0 × 10e−324 to ±1.7 × 10e308 shu oraliqda.
Xotiradan 8byte egallaydi.

Decimal

decimal son = 45.7m. Bu decimal tipining C# tilida e’lon qilish va qiymat berishning umumiy ko’rinishi.

Decimal tipidagi o’zgaruvchi oxirida m yoki M harfini yozish shart, aks holda xatolik beradi.
Decimal tipidagi o’zgaruvchilar butun qismidan keyin maksimal 28~29 tagacha sonlarni o’zida saqlay oladi.
Aniqlanish sohasi ±1.0 x 10e-28 to ±7.9228 x 10e28 shu oraliqda.
Xotiradan 16byte egallaydi.

Lifehack

e harfidan foydanlangan holda sonlaringizni 10ning ma’lum bir darajasigan oshirib chiqarishni bilarmidingiz? Shaxsan mening o’zimga yangilik bo’ldi. Keling birga ko’rib chiqamiz.

float f1 = 35e3F;
double d1 = 12E4D;
decimal m1 = 987.65E-2M;
Console.WriteLine(f1); // 35000 chiqaradi
Console.WriteLine(d1); // 120000 chiqaradi
Console.WriteLine(m1); // 9.8765 chiqaradi

Leave a Reply

Your email address will not be published. Required fields are marked *