2진수를 10진수로 변환하는 것은 2진수(0과 1만 사용하는 2진수)를 해당 10진수(10진수 형식)로 변환하는 과정입니다.
이 기사에서는 다양한 접근 방식을 사용하여 PHP에서 이진수를 십진수 형식으로 변환하는 방법을 알아봅니다.
2진수를 10진수로 변환하는 방법
이진수를 십진수로 변환하려면 각 이진수에 해당 위치(오른쪽의 0부터 시작)만큼 거듭제곱한 2를 곱한 다음 모든 결과를 합산하세요. ?
2진수에서 10진수로 변환:1011 위치:3 2 1 0 2진수:1 0 1 1 계산:1×2³ 0×2² 1×21 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:루프를 이용한 수동 변환
이 접근 방식은 각 이진수를 반복하여 10진수 값을 수동으로 계산합니다. ?
<?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:비트 왼쪽 시프트 사용
이 방법은 효율적인 변환을 위해 비트 연산을 사용합니다. ?
<?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() 사용 PHP에서 간단한 이진수를 십진수로 변환합니다. 교육 목적이나 사용자 정의 논리의 경우 루프나 비트 연산을 사용하여 수동 변환을 구현하세요.