Rumah >pembangunan bahagian belakang >masalah PHP >Apakah peralihan yang betul dalam php? Bagaimana nak guna?

Apakah peralihan yang betul dalam php? Bagaimana nak guna?

PHPz
PHPzasal
2023-03-21 16:32:241602semak imbas

PHP ialah bahasa skrip sebelah pelayan yang popular yang boleh digunakan untuk membina aplikasi web dan tapak web dinamik. Dalam PHP, anjakan kanan ialah operasi bit asas yang membolehkan anda mengalihkan nombor ke kanan dengan bilangan bit tertentu, menghasilkan nombor baharu. Walau bagaimanapun, operasi ini mempunyai makna dan kegunaan yang berbeza dalam situasi yang berbeza. Dalam artikel ini, kami akan menyelami lebih mendalam tentang penggunaan anjakan kanan yang berbeza dalam PHP dan cara menggunakannya dalam pengekodan.

1.

Dalam pengaturcaraan komputer, peralihan ke kanan bermaksud mengalihkan nombor ke kanan dengan bilangan digit yang ditentukan dan mengisi kekosongan kiri dengan sifar. Sebagai contoh, jika anda ingin mengalihkan nombor perduaan 1010 ke kanan sebanyak 2 bit, hasilnya ialah 0010, dengan dua bit pertama berlapik dengan sifar. Dalam PHP, operasi anjakan kanan boleh dilaksanakan dengan operator >> yang sintaksnya adalah seperti berikut:

$result = $num >> $shift;

di mana $num ialah nombor yang hendak dialihkan, $shift ialah nombor yang akan dipindahkan nombor digit yang dialihkan, $result ialah hasil selepas peralihan. Contohnya, jika anda ingin mengalihkan nombor 10 ke kanan sebanyak 2 tempat, anda boleh menggunakan kod berikut:

$num = 10; 
$shift = 2; 
$result = $num >> $shift; 
echo $result; // 输出结果为 2

2. Gunakan 1: Bahagi dengan kuasa 2

Penggunaan biasa peralihan kanan dalam pengaturcaraan adalah untuk membahagikan nombor dengan kuasa dua. Sebagai contoh, jika anda ingin membahagikan nombor dengan 4, anda boleh mengalihkannya dua tempat ke kanan kerana 4 adalah sama dengan kuasa 2. Selain itu, anjakan kanan boleh digunakan untuk mengoptimumkan operasi bahagian dalam program komputer, kerana pada kebanyakan komputer, anjakan kanan adalah lebih pantas daripada operasi bahagian.

Sebagai contoh, katakan anda ingin mengira punca kuasa dua nombor. Anda boleh menggunakan kod berikut:

$num = 16; 
$sqrt = sqrt($num); // 计算平方根 
echo $sqrt; // 输出结果为 4

Walau bagaimanapun, kaedah ini memerlukan pengiraan punca kuasa dua nombor, yang boleh menjadi sangat intensif dari segi pengiraan. Sebaliknya, anda boleh menggunakan kod berikut:

$num = 16; 
$result = $num >> 1; // 将数字除以 2,等价于 $num / 2 
$result = $result >> 1; // 将数字除以 4,等价于 $num / 4 
echo $result; // 输出结果为 4

Seperti dalam kod di atas, mula-mula gerakkan $num ke kanan dengan satu bit, yang bersamaan dengan membahagikannya dengan 2, dan kemudian alihkannya ke kanan dengan satu bit, yang bersamaan dengan Bahagikannya dengan 4. Kaedah ini jauh lebih pantas daripada menggunakan fungsi sqrt(), dan secara amnya lebih pantas daripada menggunakan operator darab dan bahagi.

3. Kegunaan 2: Kira petak dan kubus dengan pantas

Beralih ke kanan juga boleh digunakan untuk mengira petak dan kubus dengan cepat. Jika anda ingin menggandakan nombor, anda mengalihkannya satu tempat ke kiri, yang bersamaan dengan mendarabnya dengan 2 dan kemudian menambah hasilnya pada dirinya sendiri. Begitu juga, jika anda ingin mengkiub nombor, anda boleh mengalihkannya dua tempat ke kiri, yang bersamaan dengan mendarabnya dengan 4 dan menambah kuasa dua nombor asal kepada hasilnya. Berikut ialah contoh kod:

$num = 5; 
$square = ($num << 1) + $num; // 平方,等价于 $num * $num 
$cube = ($num << 2) + ($num << 1) + $num; // 立方,等价于 $num * $num * $num 
echo $square; // 输出结果为 25 
echo $cube; // 输出结果为 125

Menggunakan anjakan kanan boleh memudahkan pengiraan ini, kerana operasi anjakan kanan ialah songsang bagi operasi anjakan kiri. Sebagai contoh, jika anda ingin mengira kuasa dua nombor, anda boleh menggunakan kod berikut:

$num = 5; 
$square = ($num >> 1) 
 $num * 4 - ($num >> 1) 
 ($num >> 1); 
echo $square; // 输出结果为 25

di mana $num >> 1 adalah bersamaan dengan membahagikan $num dengan 2, $num * 4 Itu bersamaan dengan memindahkan $num ke kiri dengan dua tempat, ($num >> 1) * ($num >> 1), iaitu, mencari kuasa dua $num.

4 Ringkasan

Dalam PHP, anjakan kanan ialah operasi bit asas yang boleh digunakan dalam banyak senario yang berbeza, seperti membahagikan dengan 2 Kuasa, cepat mengira kuasa dua dan kiub, dsb. Dengan menggunakan operasi anjakan yang betul dengan sewajarnya, anda boleh mengoptimumkan program komputer anda dan menjadikannya lebih pantas dan lebih cekap. Semoga artikel ini membantu anda lebih memahami operasi peralihan bit dalam PHP dan gunakannya dalam pengekodan anda.

Atas ialah kandungan terperinci Apakah peralihan yang betul dalam php? Bagaimana nak guna?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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