Bu teknik olarak dile bağlıdır, ancak hemen hemen tüm diller bu konuyu aynı şekilde ele alır. Bir ifadede iki veri türü arasında bir tür uyuşmazlığı olduğunda, çoğu dil =
, diğer taraftaki verileri önceden tanımlanmış bir dizi kurala göre eşleştirmek için veriyi bir tarafına dönüştürmeye çalışır.
Aynı türden iki sayıyı bölerken (tamsayılar, çiftler vb.) Sonuç her zaman aynı türden olacaktır (bu nedenle 'int / int' her zaman int ile sonuçlanacaktır).
Bu durumda double var = integer result
, tamsayı sonucunu hesaplamadan sonra ikiye katlayan sonuca sahip olursunuz, bu durumda
kesirli veriler zaten kaybolur. (çoğu dil, tür hatalarını bir istisna veya hata oluşturmadan önlemek için bu atamayı yapar).
Sonucu bir çift olarak tutmak isterseniz, sahip olduğunuz bir durum yaratmak isteyeceksiniz.
double var = double result
Bunu yapmanın en kolay yolu, bir denklemin sağ tarafındaki ifadeyi ikiye katlamaya zorlamaktır:
c = a/(double)b
Bir tamsayı ve bir çift arasındaki bölme, tam sayının ikiye çevrilmesiyle sonuçlanacaktır (matematik yaparken, derleyicinin genellikle en özel veri tipine "yukarı yayın" yapacağını unutmayın, bu veri kaybını önlemek içindir).
Yukarıdan sonra, a
bir çift olarak sarılacak ve şimdi iki çift arasında bölünme var. Bu, istenen bölümü ve görevi yaratacaktır.
TEKRAR, bunun dile özgü olduğunu (ve hatta derleyiciye özgü olabileceğini) unutmayın, ancak hemen hemen tüm diller (kesinlikle aklıma gelmeyen tüm diller) bu örneği aynı şekilde ele alır.