DEV Community

madina1575
madina1575

Posted on

TYPE CASTING

BOSHQA DATA TYPEGA AYLANTIRISH

Bu mavzuda birinchi turdagi ma'lumot turidan(data typedan) boshqa ma'lumot turiga o'tishni ya'ni casting qilishni o'rganamiz.

Castingni quyidagi ma'lumot turlari orasida qo'llash mumkin:
int => float
float => int

Butun sonni kasr songa aylantirishda muammo yo'q, ammo kasr sonni butun songa aylantirishda nuqtadan keyingi qismi yaxlitlanmaydi shunchaki chopib yuboriladi.

Eslatib o'tamiz float ma'lumot turi kasr sonlar uchun, int esa butun sonlar uchun ishlatiladi!!!

Davom etishdan oldin casting qilishnig ikki sil usuli bor ekanligi va ularni aytib o'tsak:

  1. O'zgaruvchini o'zgaruzchiga tenglash, masalan int turidagi son o'zgaruvchisini float turidagi kasrson o'zgaruvchisiga tenglasak, quyidagi ko'rinishda bo'ladi.
#include <iostream>

using namespace std;

int main()
{

    int son = 10;
    float kasrson = son;

    return 0;
}
Enter fullscreen mode Exit fullscreen mode

natija:

son = 10;
kasrson = 10.0;
Enter fullscreen mode Exit fullscreen mode
  1. O'zgaruvchi oldidan o'sha casting qilinishi (o'tkazilishi) kerak bo'lgan ma'lumot turi yoziladi, masalan quyidagicha:
#include <iostream>

using namespace std;

int main()
{
    int son = 10;

    cout << son << endl;
    cout << float(son) << endl;

    return 0;
}
Enter fullscreen mode Exit fullscreen mode

natija quyidagicha:

10 //son = 10
10 // float = 10.0
Enter fullscreen mode Exit fullscreen mode

Aytgancha char => int
int => char
yani, int va char ma'lumot turlari ham casting qilinish hususiyatiga ega.

Eslatma: barcha char ma'lumot turidan int ga o'tsa bo'ladi, ammo int ma'lumot turining ko'pligi sababli charga o'tadigan intlar soni cheklangan.

Masalan:

#include <iostream>

using namespace std;

int main()
{
    int son = 65;
    char belgi = son;
    cout << son << endl;
    cout << belgi << endl;

    return 0;
}
Enter fullscreen mode Exit fullscreen mode

natija:

65 // son = 65
A // belgi = 'A'
Enter fullscreen mode Exit fullscreen mode

Agar siz char ma'lumot turidan int ma'lumot turiga yoki aksincha intdan charga casting qilmoqchi bo'lsangiz albatta ASCI table sizga zarur!!!

Dec  Char                           Dec  Char     Dec  Char     Dec  Char
---------                           ---------     ---------     ----------
  0  NUL (null)                      32  SPACE     64  @         96  `
  1  SOH (start of heading)          33  !         65  A         97  a
  2  STX (start of text)             34  "         66  B         98  b
  3  ETX (end of text)               35  #         67  C         99  c
  4  EOT (end of transmission)       36  $         68  D        100  d
  5  ENQ (enquiry)                   37  %         69  E        101  e
  6  ACK (acknowledge)               38  &         70  F        102  f
  7  BEL (bell)                      39  '         71  G        103  g
  8  BS  (backspace)                 40  (         72  H        104  h
  9  TAB (horizontal tab)            41  )         73  I        105  i
 10  LF  (NL line feed, new line)    42  *         74  J        106  j
 11  VT  (vertical tab)              43  +         75  K        107  k
 12  FF  (NP form feed, new page)    44  ,         76  L        108  l
 13  CR  (carriage return)           45  -         77  M        109  m
 14  SO  (shift out)                 46  .         78  N        110  n
 15  SI  (shift in)                  47  /         79  O        111  o
 16  DLE (data link escape)          48  0         80  P        112  p
 17  DC1 (device control 1)          49  1         81  Q        113  q
 18  DC2 (device control 2)          50  2         82  R        114  r
 19  DC3 (device control 3)          51  3         83  S        115  s
 20  DC4 (device control 4)          52  4         84  T        116  t
 21  NAK (negative acknowledge)      53  5         85  U        117  u
 22  SYN (synchronous idle)          54  6         86  V        118  v
 23  ETB (end of trans. block)       55  7         87  W        119  w
 24  CAN (cancel)                    56  8         88  X        120  x
 25  EM  (end of medium)             57  9         89  Y        121  y
 26  SUB (substitute)                58  :         90  Z        122  z
 27  ESC (escape)                    59  ;         91  [        123  {
 28  FS  (file separator)            60  <         92  \        124  |
 29  GS  (group separator)           61  =         93  ]        125  }
 30  RS  (record separator)          62  >         94  ^        126  ~
 31  US  (unit separator)            63  ?         95  _        127  DEL



Enter fullscreen mode Exit fullscreen mode

Top comments (0)