Penukaran Huruf Besar kepada Huruf Kecil dan Sebaliknya Menggunakan ^= 32
Pengaturcara biasanya menghadapi situasi di mana mereka perlu menukar aksara antara huruf besar dan huruf kecil . Walaupun penolakan atau penambahan 32 adalah pendekatan biasa, penyelesaian yang lebih cekap menggunakan operator ^= 32, seperti yang ditunjukkan dalam contoh berikut:
char foo = 'a'; foo ^= 32; char bar = 'A'; bar ^= 32; cout << foo << ' ' << bar << '\n'; // foo is A, and bar is a
Untuk memahami cara pengendali ini berfungsi, mari rujuk ASCII jadual kod untuk huruf Inggeris dalam binari:
A 1000001 a 1100001 B 1000010 b 1100010 C 1000011 c 1100011 ... Z 1011010 z 1111010
Perhatikan bahawa satu-satunya perbezaan antara huruf kecil dan huruf besar adalah dalam huruf keenam bit dari kiri (bit kedua paling tidak ketara). Khususnya, 32 dalam binari (0100000) mewakili kedudukan bit tersebut.
Pengendali bitwise exclusive OR (^=) menogol nilai bit yang ditentukan. Jadi, apabila anda melakukan operasi ^= 32, anda secara berkesan membalikkan bit keenam. Jika huruf itu pada asalnya huruf kecil (1), ia menjadi huruf besar (0) dan sebaliknya.
Oleh itu, operator ^= 32 berfungsi sebagai pintasan yang mudah untuk menukar aksara antara huruf besar dan huruf kecil, menawarkan cara yang cekap dan alternatif ringkas untuk menolak atau menambah 32.
Atas ialah kandungan terperinci Bagaimanakah ^= 32 Menukar Aksara Besar dan Huruf Kecil dengan Cekap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!