Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Boleh Melaksanakan Fungsi Pembundaran dalam C?

Bagaimanakah Saya Boleh Melaksanakan Fungsi Pembundaran dalam C?

Linda Hamilton
Lepaskan: 2025-01-04 04:09:38
asal
928 orang telah melayarinya

How Can I Implement a Rounding Function in C  ?

Membundarkan Nombor Titik Terapung dalam C dengan bulat()

Jika tiada fungsi pusingan() khusus dalam perpustakaan C standard , pembangun sering menggunakan fungsi lain seperti ceil() atau floor(). Walau bagaimanapun, untuk kawalan ketepatan, fungsi pembundaran khusus selalunya diperlukan.

Melaksanakan Fungsi Pusingan Tersuai()

Fungsi bulat() membundarkan nombor titik terapung berdasarkan peraturan "bulat separuh ke atas", di mana nombor tepat separuh antara integer dibundarkan ke atas. Kod C berikut menyediakan pelaksanaan fungsi ini:

double round(double d) {
  return floor(d + 0.5);
}
Salin selepas log masuk

Pelaksanaan ini pada asasnya menambah 0.5 pada nombor dan memotong hasilnya kepada integer terdekat menggunakan fungsi floor().

Kaedah Pembundaran Lain

Walaupun peraturan "bulat separuh ke atas" biasa digunakan, terdapat adalah kaedah pembundaran lain, termasuk:

  • Bundarkan kepada Genap: Kaedah ini membundarkan nombor separuh jalan antara integer kepada nombor genap terdekat, mengurangkan pincang.
  • Bulat-Ke Bawah: Kaedah ini sentiasa membundarkan nombor ke arah negatif infiniti.
  • Round-Upward: Kaedah ini sentiasa membundarkan nombor ke arah infiniti positif.

Pelaksanaan kaedah ini boleh didapati dalam talian atau dibuat tersuai berdasarkan khusus keperluan.

Nota:

C 11 standard memperkenalkan fungsi round() terbina dalam (std::round, std::lround, dan std::llround) yang menyediakan kefungsian yang serupa, menjadikan pelaksanaan tersuai tidak diperlukan untuk penyusun moden dan perpustakaan standard.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan Fungsi Pembundaran dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan