Movatterモバイル変換


[0]ホーム

URL:


Skip to content
DEV Community
Log in Create account

DEV Community

Ozodbek
Ozodbek

Posted on

C# dasturlash tilida Kasr sonlar.

C# dasturlash tilida kasr sonlar nimaligini o'rnishdan oldin kasr sonlar o'zi nima ekanligi haqida qisqacha gaplashib olsak.
Kasr sonlar bu - Sonning butun qismidan tashqari nuqta bilan yana sonning yana bir qismi bo'lishiga aytiladi. Biz kundalik hayotimizda sanashda ishlatiladigan sonlar butun natural sonlar deb ataladigan bo'lsa, Kasr sonlar - biror og'irlik massasi, biror objectning 10.2 qismi 1.6 va hokazo qismlarni o'lchashda yoki malumot sifatida saqlashda ishlatamiz.

Kasr sonlar sonning butun qismidan tashqari nuqta orqali yana qoshimcha son oladi.
Misol uchun: 10.9, 1.6 va hokazo...

Endi C# da kasr sonlar haqida gaplashsak ham bo'laveradi.

C# dasturlash tilida Kasr sonlarni saqlash uchun asosan 3 xil o'zgaruvchidan foydalaniladi.

Bular:
Float, Double, Decimal

Float =C# da "float" - bu bir aniqlikdagi suzuvchi nuqtali raqamlarni belgilash uchun foydalaniladigan ma'lumotlar turi . Bu taxminan 1,5 × 10 ^ -45 dan 3,4 × 10 ^ 38 gacha bo'lgan keng qamrovli qiymatlarni saqlashga qodir 32 bitli ma'lumotlar turi

Double =C# tilidagi "Double" - bu o'nlik sonlarni yuqori darajadagi aniqlik bilan ifodalash uchun ishlatiladigan suzuvchi nuqtali ma'lumotlar turi . U "ikki marta" deb ataladi, chunki u "suzuvchi" ning ikki barobar aniqligini ta'minlaydi. "Double" 8 bayt xotirani egallaydi va taxminan 5,0 x 10^-324 dan 1,7 x 10^308 gacha bo'lgan qiymatlarni saqlashi mumkin

Decimal =±1,0 x 10 - 28 dan ±7,9228 x 10 28 oralig'ida suzuvchi turdagi qiymatni saqlashi mumkin bo'lgan o'zgaruvchini e'lon qilish uchun ishlatiladigan kalit so'z . Bu tizimning taxallusidir. O'nlik va xotirada 16 bayt (128 bit) joy egallaydi.

Ularning farqlari nimada ?

float(C# taxalluslari System.Single) va double(C# taxalluslari System.Double) suzuvchi ikkilik nuqta turlaridir . float32 bitli; double64 bitli. Boshqacha qilib aytganda, ular shunday raqamni ifodalaydi:
10001.10010110011

decimal(C# taxallus System.Decimal) float kasrli nuqta turi hisoblanadi. Boshqacha qilib aytganda, ular shunday raqamni ifodalaydi:

12345.65789

Qisqa va lo'nda qilib aytganda
_

Aniqlik: decimal toifa, kasrli sonlarni aniqligi bo'yicha float va double toifalariga nisbatan yuqori aniqlik bilan ishlaydi.

Popularity: float < double < decimal bo'lib, bularning keraklicha saqlash joylarining o'lchamlari bilan bog'liq.

Ishlatish joylari:

float: Qisqa qiymatli sonlarni ifodalashda, masalan, grafik va animatsiya dasturlarida floatni ishlatamiz.
double: Umumiy hisob-kitoblarda yoki ko'p darajadagi aniqlik talab qilinadigan amaliyotlarda double ishlatamiz.
decimal: Moliyaviy hisob-kitob, pul miqdorlarini saqlash va moliyaviy operatsiyalarda decimal ishlatamiz.
_

Kod orqali ko'radigan bo'lsak.
float
float floatSon = 10.66:f;

double
double doubleSon = 10.66;

decimal
decimal decimalSon = 10.66m;

  • > Bu yerda asosan xatoliklar literallar bilan bog'liq bo'ladi, dehqonchasiga tushuntiradigan bo'lsam - bu yerda float qatordagi kodga etibor bergan bo'lsangiz o'zgaruvchiga qiymat bergandan so'ng son oxiriga >f harfini yozdim.
  • > Nega ?
  • > Chunki float son ekanligini bildirish uchun, agar f harfni qo'ymaganimda compilator xatolik berar edi: Double son. float tipiga double son o'zlashtiryapsan shuni to'g'rila degan ma'noda.
  • > Uni tushundik endi nega Decimal oxiriga m harfi qo'yildi ?
  • > Chunki m kalitni kengaytmasi money so'zidan olingan. Yuqorida aytib o'tilganidek decimal moyliyav, yani pullar bilan ishlash uchun ishlatiladigan o'zgaruvchi hisoblanadi. Agar m qo'ymasak compilator xatolik berar edi: Double son. Decimal tipiga double son o'zlashtiryapsan shuni to'g'rila degan ma'noda.

Tushuntira oldim degan umiddaman. Agar tushunmagan bo'lsangiz bemalol menga murojaat qilishingiz mumkin.

Men:Ozodbek

Top comments(0)

Subscribe
pic
Create template

Templates let you quickly answer FAQs or store snippets for re-use.

Dismiss

Are you sure you want to hide this comment? It will become hidden in your post, but will still be visible via the comment'spermalink.

For further actions, you may consider blocking this person and/orreporting abuse

.NET Software Engineer
  • Joined

Trending onDEV CommunityHot

DEV Community

We're a place where coders share, stay up-to-date and grow their careers.

Log in Create account

[8]ページ先頭

©2009-2025 Movatter.jp