Rumah >pembangunan bahagian belakang >tutorial php >Program PHP untuk Perduaan untuk Penukaran Decimal

Program PHP untuk Perduaan untuk Penukaran Decimal

Linda Hamilton
Linda Hamiltonasal
2025-02-07 11:21:09636semak imbas

PHP Program for Binary to Decimal Conversion

Perduaan kepada penukaran perpuluhan merujuk kepada proses menukar nombor binari (iaitu, nombor yang diwakili oleh hanya dua digit 0 dan 1) kepada nombor perpuluhan yang setara (iaitu, dalam bentuk 10 sebagai asas).

Artikel ini akan menerangkan cara menukar bentuk binari nombor kepada bentuk perpuluhan dalam PHP menggunakan kaedah yang berbeza.

Bagaimana untuk menukar binari ke perpuluhan?

Nombor binari (

binari ) terdiri hanya dari 0 dan 1 digit yang digunakan oleh mesin, dan nombor perpuluhan adalah nombor perpuluhan yang digunakan oleh manusia. Untuk menukar nombor binari ke nombor perpuluhan, kalikan setiap nombor binari dengan kuasa kedudukannya (bermula dari 0 di sebelah kanan), dan tambah semua hasilnya. Contoh 1

input:
    nombor binari = 101
  • output:
  • nombor perpuluhan = 5
  • Penjelasan:
nombor binari 101 boleh ditukar kepada nombor perpuluhan, kaedahnya adalah seperti berikut: (1 × 2

2

) (0 × 2

1 ) (1 × 2 0 ) = 4 0 1 = 5 Contoh 2

input:
    nombor binari = 1111
  • output:
  • nombor perpuluhan = 15
  • Penjelasan:
Nombor binari 1111 boleh dikira seperti berikut: (1 × 2

3

) (1 × 2

2 ) (1 × 2 1 ) (1 × 2 0 ) = 8 4 2 1 = 15 Contoh 3

input:
    nombor binari = 0
  • output:
  • nombor perpuluhan = 0
  • Penjelasan:
nombor binari 0 sepadan dengan nombor perpuluhan 0, kerana nilai sumbangan semua nombor adalah 0.

Berikut adalah cara yang berbeza untuk melakukan binari untuk penukaran perpuluhan dalam php:

Perduaan untuk Penukaran Decimal menggunakan fungsi terbina dalam

php mempunyai fungsi terbina dalam

bindec ()

, yang boleh digunakan secara langsung untuk menukar nombor binari ke nombor perpuluhan.

Langkah Pelaksanaan

Tentukan nombor binari sebagai input.

    Gunakan fungsi
  1. bindec ()
  2. untuk menukar nombor binari ke bentuk perpuluhan.
  3. hasil output.
  4. kod pelaksanaan

output

<code class="language-php"><?php
$binary = "101";

// 使用 bindec() 将二进制转换为十进制
$decimal = bindec($binary);

echo "二进制数 '$binary' 的十进制等效值为:$decimal";
?></code>

kerumitan masa:
<code>二进制数 '101' 的十进制等效值为:5</code>
o (1)

Kerumitan ruang: (1) binari untuk penukaran perpuluhan menggunakan gelung

Dalam kaedah ini, kami menggunakan gelung untuk melintasi nombor binari dari kiri ke kanan. Kami mengira bersamaan perpuluhan dengan menambahkan hasil mengalikan setiap nombor binari dengan nilai kedudukannya.

Langkah Pelaksanaan

  1. Pertama, tentukan nombor binari sebagai input rentetan.
  2. Sekarang, mulakan pembolehubah untuk menyimpan hasil perpuluhan.
  3. Gunakan gelung untuk melintasi nombor binari dari kanan ke kiri.
  4. Pelbagai setiap nombor binari dengan kuasa kedudukan dengan 2 dan tambahkannya kepada hasilnya.
  5. output hasil perpuluhan akhir.

kod pelaksanaan

<code class="language-php"><?php
$binary = "101";

// 使用 bindec() 将二进制转换为十进制
$decimal = bindec($binary);

echo "二进制数 '$binary' 的十进制等效值为:$decimal";
?></code>

output

<code>二进制数 '101' 的十进制等效值为:5</code>

kerumitan masa: o (n) Kerumitan ruang: (1)

Gunakan pengendali bit

Dalam kaedah ini, kami secara langsung menggunakan pengendali bit yang disokong oleh PHP untuk mengendalikan bit. Dalam pendekatan ini, kami menggunakan anjakan untuk mengira setara perpuluhan.

Langkah Pelaksanaan

  1. Pertama, kita memulakan pembolehubah hasil perpuluhan kepada 0.
  2. Sekarang, gelung melalui rentetan binari, bermula dengan bit paling tidak penting.
  3. untuk setiap bit, shift kiri Hasil dan tambahkan nilai bit semasa.
  4. Kembalikan hasil akhir selepas memproses semua bit.

kod pelaksanaan

<code class="language-php"><?php
$binary = "101";
$decimal = 0;
$length = strlen($binary);

// 循环遍历二进制数中的每个数字
for ($i = 0; $i < $length; $i++) {
    // 将二进制数字乘以 2^(从右起的位置)
    $decimal += $binary[$length - $i - 1] * pow(2, $i);
}

// 输出十进制等效值
echo "二进制数 '$binary' 的十进制等效值为:$decimal";
?></code>

output

<code>二进制数 '101' 的十进制等效值为:5</code>

kerumitan masa: o (n) Kerumitan ruang: (1)

Aplikasi Praktikal Perduaan untuk Penukaran Decimal

  • Ia digunakan untuk melaksanakan banyak tugas pengaturcaraan yang mengambil binari untuk penukaran perpuluhan sebagai sebahagian daripada proses pengekodan atau penyahkodan.
  • Alamat IP, topeng subnet, dan alamat MAC kadang -kadang memerlukan penukaran binari dan perpuluhan untuk konfigurasi dan analisis.

Atas ialah kandungan terperinci Program PHP untuk Perduaan untuk Penukaran Decimal. 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