Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> PHP

แปลงเลขฐานสองเป็นทศนิยมใน PHP – คำแนะนำทีละขั้นตอนอย่างง่าย

การแปลงเลขฐานสองเป็นทศนิยมเป็นกระบวนการแปลงเลขฐานสอง (เลขฐาน 2 โดยใช้เพียง 0 และ 1) ให้เป็นเลขทศนิยมที่เทียบเท่ากัน (รูปแบบฐาน 10)

ในบทความนี้ เราจะได้เรียนรู้วิธีแปลงเลขฐานสองให้อยู่ในรูปแบบทศนิยมใน PHP โดยใช้วิธีต่างๆ

วิธีการทำงานของการแปลงไบนารีเป็นทศนิยม

หากต้องการแปลงเลขฐานสองเป็นทศนิยม ให้คูณเลขฐานสองแต่ละหลักด้วย 2 ยกกำลังของตำแหน่ง (เริ่มจาก 0 ทางด้านขวา) แล้วรวมผลลัพธ์ทั้งหมด ?

การแปลงไบนารีเป็นทศนิยม:1011 ตำแหน่ง:3 2 1 0 ไบนารี:1 0 1 1 การคำนวณ:1×2³ 0×2² 1×2¹ 1×2? =8 =0 =2 =1 ผลลัพธ์:8 + 0 + 2 + 1 =11

วิธีที่ 1:การใช้ฟังก์ชัน bindec() ในตัว

PHP ให้ bindec() ฟังก์ชั่นแปลงเลขฐานสองเป็นทศนิยมโดยตรง ?

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

วิธีที่ 2:การแปลงด้วยตนเองโดยใช้ลูป

วิธีการนี้จะคำนวณค่าทศนิยมด้วยตนเองโดยการวนซ้ำเลขฐานสองแต่ละหลัก ?

<?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

วิธีที่ 3:การใช้ Bitwise Left Shift

วิธีการนี้ใช้การดำเนินการระดับบิตเพื่อการแปลงที่มีประสิทธิภาพ ?

<?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

การเปรียบเทียบวิธีการ

วิธีการ ความซับซ้อนของเวลา ความซับซ้อนของอวกาศ ดีที่สุดสำหรับ Bindec()O(1)O(1)การแปลงอย่างง่ายManual LoopO(n)O(1)อัลกอริทึมการเรียนรู้Bitwise ShiftO(n)O(1)ประสิทธิภาพวิกฤต

บทสรุป

ใช้ bindec() สำหรับการแปลงไบนารีเป็นทศนิยมอย่างง่ายใน PHP เพื่อวัตถุประสงค์ทางการศึกษาหรือตรรกะที่กำหนดเอง ให้ใช้การแปลงด้วยตนเองโดยใช้ลูปหรือการดำเนินการระดับบิต

แปลงเลขฐานสองเป็นทศนิยมใน PHP – คำแนะนำทีละขั้นตอนอย่างง่าย