Herhangi bir son ek kullanmadığınız için, değişmezler 13
ve 4
tamsayı olarak yorumlanır:
Kılavuzu :
Değişmezi hiçbir eki varsa, bu değeri temsil edilebilir ki bu tür ilk sahiptir: int
, uint
, long
, ulong
.
Böylece, 13
tamsayı olarak ilan ettiğiniz için , tamsayı bölme işlemi gerçekleştirilecektir:
Kılavuzu :
X / y formundaki bir işlem için, belirli bir operatör uygulamasını seçmek için ikili operatör aşırı yük çözümlemesi uygulanır. İşlenenler, seçilen işlecin parametre türlerine dönüştürülür ve sonucun türü, işlecin dönüş türüdür.
Önceden tanımlanmış bölüm operatörleri aşağıda listelenmiştir. Operatörlerin tümü x ve y'nin bölümünü hesaplar.
Tamsayı bölümü:
int operator /(int x, int y);
uint operator /(uint x, uint y);
long operator /(long x, long y);
ulong operator /(ulong x, ulong y);
Ve böylece aşağı yuvarlama gerçekleşir:
Bölme, sonucu sıfıra yuvarlar ve sonucun mutlak değeri, iki işlenenin bölümünün mutlak değerinden daha küçük olan olası en büyük tam sayıdır. İki işlenen aynı işarete sahipse sonuç sıfır veya pozitif ve iki işlenen zıt işaretlere sahip olduğunda sıfır veya negatiftir.
Aşağıdakileri yaparsanız:
int x = 13f / 4f;
Bir kayan nokta bölümü ( /
operatörü 13f
), dolaylı olarak int'e dönüştürülemeyen bir kayan nokta ile sonuçlandığından , bir derleyici hatası alırsınız .
Bölümün bir kayan nokta bölümü olmasını istiyorsanız, sonucu bir kayan nokta yapmanız gerekir:
float x = 13 / 4;
Tam sayıları yine böleceğinize dikkat edin, bu örtük olarak float'a dönüştürülür: sonuç olacaktır 3.0
. Son f
eki ( 13f
, 4f
) kullanarak işlenenleri float olarak açıkça bildirmek için .
integer
bölünme değilfloating point
bölünmedir.