Siling Pembahagian Integer tanpa Pendaraban atau Tuangan Titik Terapung
Dalam C dan C , pembahagian integer (x/y) mengembalikan lantai daripada hasilnya. Untuk mengira siling sebaliknya, mengelakkan tuangan titik terapung dan pendaraban tambahan, pertimbangkan kaedah berikut:
1. Menggunakan (x y - 1) / y:
unsigned int x, y, q; // Round up q = (x + y - 1) / y;
Formula ini memastikan siling dikira, kerana ia menambah 1 sebelum melakukan pembahagian.
2. Mengelakkan Limpahan dalam (x y):
Untuk mengelakkan limpahan integer apabila menambah x dan y, kaedah alternatif ialah:
q = 1 + ((x - 1) / y); // if x != 0
Rumusan ini secara berkesan menambah siling sebanyak 1, kecuali apabila x ialah 0, di mana ia kekal 0.
Atas ialah kandungan terperinci Bagaimana untuk Mengira Siling Bahagian Integer dalam C/C tanpa Operasi Darab atau Titik Terapung?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!