Bitwise XOR vs. Pengendali Kuasa
Apabila bekerja dengan C/C , pengaturcara sering menemui operator "^". Walau bagaimanapun, dalam bahasa ini, "^" mewakili operasi XOR bitwise, bukan eksponen. Jika anda berhasrat untuk mengira kuasa nombor, anda harus menggunakan fungsi pow() daripada
Sebagai contoh, kod berikut bertujuan untuk mengira jumlah kuasa nombor (a) daripada 1 hingga 4. Walau bagaimanapun, ia menggunakan operator XOR bitwise dan bukannya operator kuasa:
#include <stdio.h> void main(void) { int a; int result; int sum = 0; printf("Enter a number: "); scanf("%d", &a); for( int i = 1; i <= 4; i++ ) { result = a ^ i; sum += result; } printf("%d\n", sum); }
Seperti yang anda lihat, operator ^ akan melakukan operasi XOR bitwise antara a dan i (1 hingga 4) dan bukannya menaikkan a kepada kuasa i. Untuk mendapatkan pengiraan kuasa yang diingini, anda perlu menggunakan fungsi pow() seperti:
result = (int) pow((double) a,i);
Menghantar salah satu hujah untuk menggandakan dan hasil kepada int adalah perlu kerana pow() lebihan beban kembali dua kali ganda, bukan int. Selain itu, C99 menyediakan fungsi powf dan powl untuk pengiraan apungan dan berganda panjang.
Atas ialah kandungan terperinci Apakah Perbezaan Antara Bitwise XOR dan Pengendali Kuasa dalam C/C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!