Ketepatan Titik Terapung dalam Pembahagian Integer
Dalam C , pembahagian integer selalunya membundarkan hasil ke bawah kepada integer terdekat. Walau bagaimanapun, sesetengah operasi memerlukan ketepatan pecahan. Bagaimanakah kita boleh mendapatkan hasil titik terapung tanpa mengubah suai pembolehubah integer?
Pertimbangkan kod C berikut:
int a = 10, b = 3; float ans = (a / b);
Walaupun menetapkan pemformatan titik terapung, ungkapan a / b memotong keputusan kepada 3.
Penyelesaian terletak pada taip menghantar operan ke terapung:
float ans = (float)a / (float)b;
Dengan menukarkan integer kepada terapung sebelum pembahagian, hasilnya mengekalkan ketepatan titik terapung, seperti yang ditunjukkan oleh output berikut:
3.333
Atas ialah kandungan terperinci Bagaimanakah kita memperoleh hasil titik terapung daripada pembahagian integer dalam C tanpa mengubah pembolehubah integer?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!