Memahami Kesamaan Benar dan 1, Salah dan 0 dalam Pengaturcaraan
Banyak bahasa pengaturcaraan mewakili nilai benar dan palsu sebagai setara angka untuk kemudahan dan kecekapan. Dalam kebanyakan kes, true diberikan nilai 1, manakala false diberikan nilai 0.
Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa kesamaan nilai angka ini tidak membayangkan kesetaraan ketatnya dalam erti kata boolean.
Kesaksamaan dan Kesetaraan
Dalam pengaturcaraan, pengendali kesamaan (==) menyemak sama ada dua nilai adalah sama. Dalam kes benar dan salah, perbandingan benar == 1 dan salah == 0 akan dinilai kepada benar. Ini bermakna nilai berangka ini dianggap sama untuk tujuan memenuhi syarat kesaksamaan.
Walau bagaimanapun, adalah penting untuk memahami bahawa benar dan 1, atau salah dan 0, tidak boleh ditukar ganti untuk semua tujuan. Sebagai contoh, jika anda cuba untuk memberikan nilai 1 kepada pembolehubah boolean, ia akan ditafsirkan sebagai benar, tetapi pembolehubah itu tidak akan menjadi nilai boolean sebenar.
Penilaian Boolean
Dalam banyak bahasa pengaturcaraan, nilai bukan sifar dinilai kepada benar dalam konteks boolean. Ini bermakna mana-mana integer bukan sifar, termasuk 1, akan dinilai sebagai benar apabila digunakan dalam ungkapan boolean. Walau bagaimanapun, ini tidak bermakna ia sama dengan benar dalam erti kata yang ketat.
Sebagai contoh, pertimbangkan penyataan berikut:
if (0) // false if (1) // true if (2) // true
Dalam kes ini, semua pernyataan menilai sama ada benar atau salah berdasarkan sifat bukan sifar bagi nilai integer. Walau bagaimanapun, hanya pernyataan dengan nilai 1 dianggap benar, manakala yang lain dinilai benar kerana sifatnya yang bukan sifar.
Kesimpulan
Sementara benar == 1 dan false == 0 boleh menilai kepada benar dalam konteks boolean, adalah penting untuk diingat bahawa ia tidak boleh ditukar ganti atau setara sepenuhnya dalam semua senario. Perbezaan antara kesaksamaan dan penilaian adalah penting untuk pengaturcaraan yang tepat dan logik.
Atas ialah kandungan terperinci Mengapa Benar dan 1 Sama dalam Pengaturcaraan, tetapi Tidak Setara?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!