PHP는 웹 개발 분야에서 널리 사용되는 서버 측 스크립팅 언어입니다. 숫자 연산 처리도 PHP의 중요한 부분입니다. 디지털 작업에서 기본 변환과 보완은 두 가지 핵심 개념입니다. 이 기사에서는 독자가 이 두 가지 작업을 더 잘 이해하고 사용할 수 있도록 PHP의 기본 변환 및 패딩 작업을 자세히 소개합니다.
1. 진수 변환
1.1 십진수를 다른 진수로 변환
PHP는 십진수를 다른 진수로 변환하는 함수를 제공하며, 그중 가장 일반적으로 사용되는 함수는 decbin(), decoct() 및 dechex() 함수입니다. 이 함수는 10진수를 각각 2진수, 8진수, 16진수 문자열로 변환하고 결과를 반환합니다.
샘플 코드는 다음과 같습니다.
$decimal_num = 35; $bin_num = decbin($decimal_num); // 二进制 $oct_num = decoct($decimal_num); // 八进制 $hex_num = dechex($decimal_num); // 十六进制 echo "{$decimal_num}的二进制是:{$bin_num}\n"; // 输出35的二进制 echo "{$decimal_num}的八进制是:{$oct_num}\n"; // 输出35的八进制 echo "{$decimal_num}的十六进制是:{$hex_num}\n"; // 输出35的十六进制
출력 결과는 다음과 같습니다.
35的二进制是:100011 35的八进制是:43 35的十六进制是:23
1.2 다른 진수를 소수로 변환하기
십진수를 다른 진수로 변환하는 것은 다른 진수를 소수로 변환하는 작업입니다. PHP 해당 함수, 즉 bindec(), octdec() 및 hexdec() 함수도 제공됩니다. 이 함수는 2진수, 8진수, 16진수 문자열을 10진수 정수로 변환하고 결과를 반환합니다.
샘플 코드는 다음과 같습니다.
$bin_num = '100011'; $oct_num = '43'; $hex_num = '23'; $decimal_num_from_bin = bindec($bin_num); // 二进制转十进制 $decimal_num_from_oct = octdec($oct_num); // 八进制转十进制 $decimal_num_from_hex = hexdec($hex_num); // 十六进制转十进制 echo "{$bin_num}的十进制是:{$decimal_num_from_bin}\n"; // 输出二进制的十进制转换结果 echo "{$oct_num}的十进制是:{$decimal_num_from_oct}\n"; // 输出八进制的十进制转换结果 echo "{$hex_num}的十进制是:{$decimal_num_from_hex}\n"; // 输出十六进制的十进制转换结果
출력 결과는 다음과 같습니다.
100011的十进制是:35 43的十进制是:35 23的十进制是:35
2. 채우기 작업
컴퓨터에서 디지털 저장 및 작업은 바이너리 형식으로 수행되는 경우가 많습니다. 때때로 우리는 이진수를 "채워야" 합니다. 즉, 특정 유형의 산술 연산의 계산 요구 사항을 충족하기 위해 가장 높은 비트를 0 또는 1로 채워야 합니다. PHP에서 제공되는 비트셋 라이브러리는 이러한 "비트 채우기" 작업을 완료할 수 있습니다.
2.1 비트셋 라이브러리 설치
비트셋 라이브러리를 사용하려면 먼저 라이브러리를 설치해야 합니다. 설치 단계는 다음과 같습니다.
1단계: 터미널에서 다음 명령을 실행하여 비트셋 라이브러리를 설치합니다.
composer require lucasassis/bitset
2단계: 코드에서 작곡가가 자동으로 생성한 오토로더를 참조합니다.
require 'vendor/autoload.php';
2.2 비트 컬렉션 생성
비트세트 라이브러리 사용 비트 채우기 작업을 수행하기 전에 비트 세트(즉, 비트세트)를 생성해야 합니다. 비트 세트는 순차적 비트의 모음이며, 각 비트는 이진 기호 0 또는 1입니다.
비트 세트를 생성하는 함수는 BitSet::create()이며 해당 매개 변수는 정수 또는 문자열일 수 있는 총 비트 수입니다.
샘플 코드는 다음과 같습니다.
use Lucasassis\BitSet; $num_of_bits = 8; // 位数 $bitset = BitSet::create($num_of_bits); // 创建8位的bitset echo "创建的{$num_of_bits}位bitset为:{$bitset}\n";
출력 결과는 다음과 같습니다.
创建的8位bitset为:00000000
2.3 채우기 작업
비트가 설정되면 채우기 작업을 수행할 수 있습니다. 예를 들어, 이진 덧셈 1의 계산에서 피연산자(즉, 1을 더할 숫자)를 "반환하고 1을 더해야" 1을 더하는 올바른 결과를 얻을 수 있습니다.
샘플 코드는 다음과 같습니다.
use Lucasassis\BitSet; $num_of_bits = 8; // 位数 $number = 35; // 要进行加1操作的数字 $bitset = BitSet::create($num_of_bits); // 创建8位的bitset $bitset->setValue($number); // 将$number值存入bitset中 echo "原数字:{$number},补位结果:"; echo $bitset->not()->add(1)->asBinaryString(); // 取反加1,输出结果
출력 결과는 다음과 같습니다.
原数字:35,补位结果:00100010
위 코드에서는 BitSet::setValue() 함수를 사용하여 캐리 세트에 숫자를 저장하고, BitSet은 다음과 같습니다. :not() 함수는 반전 연산을 수행하는 데 사용되며, BitSet::add() 함수는 1을 더하는 데 사용되며, BitSet::asBinaryString() 함수는 이진 문자열 결과를 출력하는 데 사용됩니다.
3. 요약
이 글에서는 PHP의 기본 변환 및 비트 채우기 작업을 소개합니다. 염기변환은 컴퓨터 연산에서 중요한 개념으로, 디지털 데이터의 표현과 처리에 중요한 역할을 합니다. 필인 연산은 디지털 데이터 연산의 결과를 향상시키기 위해 특정 알고리즘에서 자주 사용되는 연산이다. 이 기사가 독자들이 이 두 가지 작업을 더 잘 이해하고 적용하는 데 도움이 되기를 바랍니다.
위 내용은 PHP에서 16진수 변환 및 비트 채우기를 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!