Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> PHP

Chuyển đổi số nhị phân thành số thập phân trong PHP – Hướng dẫn từng bước dễ dàng

Chuyển đổi nhị phân sang thập phân là quá trình chuyển đổi một số nhị phân (số cơ sở 2 chỉ sử dụng 0 và 1) thành số thập phân tương đương (dạng cơ sở 10).

Trong bài viết này, chúng ta sẽ tìm hiểu cách chuyển đổi số nhị phân sang dạng thập phân trong PHP bằng các phương pháp khác nhau.

Cách chuyển đổi nhị phân sang thập phân hoạt động

Để chuyển một số nhị phân thành số thập phân, hãy nhân mỗi chữ số nhị phân với 2 lũy thừa vị trí của nó (bắt đầu từ 0 ở bên phải), sau đó tính tổng tất cả các kết quả ?

Chuyển đổi nhị phân sang thập phân:1011 Vị trí:3 2 1 0 Nhị phân:1 0 1 1 Tính toán:1×2³ 0×2² 1×2¹ 1×2? =8 =0 =2 =1 Kết quả:8 + 0 + 2 + 1 =11

Phương pháp 1:Sử dụng hàm bindec() tích hợp

PHP cung cấp bindec() hàm chuyển trực tiếp số nhị phân sang số thập phân ?

<?php
$binary = "101";
// Convert binary to decimal using bindec()
$decimal = bindec($binary);
echo "Binary $binary = Decimal $decimal";
?>
Binary 101 = Decimal 5

Phương pháp 2:Chuyển đổi thủ công bằng vòng lặp

Cách tiếp cận này tính toán thủ công giá trị thập phân bằng cách lặp qua từng chữ số nhị phân ?

<?php
$binary = "1011";
$decimal = 0;
$length = strlen($binary);
// Loop through each digit from right to left
for ($i = 0; $i < $length; $i++) {
 $digit = $binary[$length - $i - 1];
 $decimal += $digit * pow(2, $i);
}
echo "Binary $binary = Decimal $decimal";
?>
Binary 1011 = Decimal 11

Phương pháp 3:Sử dụng phím Shift trái theo bit

Phương pháp này sử dụng các phép toán bitwise để chuyển đổi hiệu quả ?

<?php
function binaryToDecimalBitwise($binary) {
 $decimal = 0;
 for ($i = 0; $i < strlen($binary); $i++) {
 $decimal = ($decimal << 1) + $binary[$i];
 }
 return $decimal;
}
$binary = "1111";
$decimal = binaryToDecimalBitwise($binary);
echo "Binary $binary = Decimal $decimal";
?>
Binary 1111 = Decimal 15

So sánh các phương pháp

Phương pháp Độ phức tạp về thời gian Độ phức tạp của không gian Tốt nhất cho bindec()O(1)O(1)Chuyển đổi đơn giảnVòng lặp thủ côngO(n)O(1)Thuật toán học Bitwise ShiftO(n)O(1)Hiệu suất quan trọng

Kết luận

Sử dụng bindec() để chuyển đổi nhị phân sang thập phân đơn giản trong PHP. Vì mục đích giáo dục hoặc logic tùy chỉnh, hãy triển khai chuyển đổi thủ công bằng cách sử dụng vòng lặp hoặc thao tác theo bit.

Chuyển đổi số nhị phân thành số thập phân trong PHP – Hướng dẫn từng bước dễ dàng