Isu Pembahagian Mengakibatkan Sifar Walaupun Penyimpanan Berganda
Dalam operasi berangka, adalah penting untuk mempertimbangkan jenis operan yang terlibat. Apabila bekerja dengan nombor titik terapung, penghantaran jenis eksplisit mungkin diperlukan untuk mengelakkan hasil yang tidak dijangka.
Dalam coretan kod yang disediakan, operasi bahagi antara 3 dan 5 dilakukan menggunakan operan integer, yang membawa kepada pembahagian integer. Ini menghasilkan sifar sebagai hasil bagi. Untuk mendapatkan pembahagian titik terapung yang dikehendaki, adalah perlu untuk menghantar secara eksplisit sekurang-kurangnya satu operan kepada jenis berganda. Kod yang diperbetulkan diberikan di bawah:
#include <iostream> int main(int argc, char** argv) { double f = 3.0 / 5; std::cout << f; return 0; }
Dengan menghantar 3 kepada dua kali ganda (3.0), pengkompil melakukan pembahagian titik terapung, menghasilkan nilai bukan sifar yang dijangkakan. Ini menyerlahkan kepentingan memberi perhatian kepada jenis operan dalam operasi berangka untuk mencapai hasil yang tepat.
Atas ialah kandungan terperinci Mengapa Pembahagian Integer 3 dengan 5 Menghasilkan Sifar?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!