> 백엔드 개발 > PHP 문제 > PHP에서 16진수 변환 및 비트 채우기를 구현하는 방법

PHP에서 16진수 변환 및 비트 채우기를 구현하는 방법

PHPz
풀어 주다: 2023-03-29 10:21:16
원래의
724명이 탐색했습니다.

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
php
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿