PHP는 비트 연산을 사용하여 정수의 덧셈, 뺄셈, 곱셈, 나눗셈을 구현하고 이를 테스트합니다(코드 예).
이 기사에서는 정수의 덧셈, 뺄셈, 곱셈, 나눗셈을 구현하고 이를 테스트하기 위해 PHP에서 비트 연산을 사용하는 방법에 대해 설명합니다(코드 예제). 이는 도움이 필요한 친구들이 참조할 수 있습니다. 도움이 되었기를 바랍니다.
<?php /** * Created by PhpStorm. * User: Mch * Date: 8/10/18 * Time: 23:51 * 只用位运算不用算数运算实现整数的 + - * / */ class Arithmetic { const MAX_INTEGER = 2147483647; const MIN_INTEGER = -2147483648; /** * @param int $a * @param int $b * @return int $a + $b; */ public static function add(int $a, int $b) : int { $sum = $a; while ($b) { $sum = $a ^ $b; // 不考虑进位 $b = ($a & $b) << 1; // 只考虑进位 $a = $sum; } return $sum; } /** * 相反数 <= 二进制表达取反+1(补码) * @param int $n * @return int */ private static function negateNumber(int $n) : int { return self::add(~$n, 1); } /** * a-b = a + (-b) * @param int $a * @param int $b * @return int */ public static function minus(int $a, int $b) : int { return self::add($a, self::negateNumber($b)); } /** * @param int $a * @param int $b * @return int $a * $b */ public static function multiple(int $a, int $b) : int { $res = 0; while ($b) { if (($b & 1)) { $res = self::add($res, $a); } $a <<= 1; $b >>= 1; } return $res; } private static function isNegative(int $n) : bool { return $n < 0; } /** * a/b a = MIN_INTEGER, b!=MIN_INTEGER ? * @param int $a * @param int $b * @return int */ private static function p(int $a, int $b) : int { $x = self::isNegative($a) ? self::negateNumber($a) : $a; $y = self::isNegative($b) ? self::negateNumber($b) : $b; $res = 0; for ($i = 31; $i >-1; $i = self::minus($i, 1)) { if (($x >> $i)>=$y) { $res |= (1 << $i); $x = self::minus($x, $y<<$i); } } return self::isNegative($a) ^ self::isNegative($b) ? self::negateNumber($res):$res; } /** * @param int $a * @param int $b * @return int $a / $b */ public static function pide(int $a, int $b) : int { if ($b === 0) { throw new RuntimeException("pisor is 0"); } if ($a === self::MIN_INTEGER && $b === self::MIN_INTEGER) { return 1; } else if ($b === self::MIN_INTEGER) { return 0; } else if ($a === self::MIN_INTEGER) { $res = self::p(self::add($a, 1), $b); return self::add($res, self::p(self::minus($a, self::multiple($res, $b)), $b)); } else { return self::p($a, $b); } } }
TEST:
echo Arithmetic::add(1, 2).PHP_EOL; // 3 echo Arithmetic::minus(10, 3).PHP_EOL; // 7 echo Arithmetic::multiple(5, 3).PHP_EOL; // 15 echo Arithmetic::pide(-2147483648, 1).PHP_EOL; // -2147483648 echo Arithmetic::pide(-15, 3).PHP_EOL; // -5
관련 권장 사항:
PHP와 HTML 양식 간의 간단한 상호 작용을 위한 코드 #🎜 🎜#
PHP는 HTML 파일용 클래스를 어떻게 생성하나요? PHP에서 HTML 파일 클래스를 생성하는 방법
위 내용은 PHP는 비트 연산을 사용하여 정수의 덧셈, 뺄셈, 곱셈, 나눗셈을 구현하고 이를 테스트합니다(코드 예).의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











1비트는 1/8바이트와 같습니다. 이진수 체계에서 0 또는 1 각각은 비트(bit)이고, 비트는 데이터 저장의 가장 작은 단위이며, 8비트(bit, 약칭 b)마다 바이트(Byte)를 구성하므로 "1바이트( 바이트) = 8비트”. 대부분의 컴퓨터 시스템에서 바이트는 8비트 길이의 데이터 단위입니다. 대부분의 컴퓨터는 바이트를 사용하여 문자, 숫자 또는 기타 문자를 나타냅니다.

이 글의 Redis 테스트 코드는 다음 환경을 기반으로 합니다. 운영 체제: MacOS 64비트 버전: Redis5.0.764bit 운영 모드: 독립형 모드 Redis 비트 연산 레이드 비트 연산은 비트 배열 연산이라고도 하며 비트맵 4가지 명령을 제공합니다. : SETBIT, GETBIT, BITCOUNT 및 BITTOP 이진 비트 배열을 조작하는 데 사용됩니다. 먼저 일련의 기본 작업 예제를 살펴보겠습니다. SETBIT 구문: SETBITkeyoffsetvalue는 명령 키 오프셋 0/1입니다. setbit 명령은 비트 배열에 지정된 오프셋의 이진 비트 설정 값을 쓰는 데 사용됩니다. 오프셋은 0부터 시작하여 계산됩니다. 쓰기 1 또는 0만 허용됩니다.

1바이트는 8비트와 같습니다. 데이터 저장은 "바이트"(Byte) 단위로 이루어지며, 데이터 전송은 대부분 "비트"(bit) 단위로 이루어지며, 1비트는 0 또는 1(즉, 바이너리)을 나타내며, 8비트(bit)마다 ) Byte는 정보의 가장 작은 단위이므로 "1Byte=8bit"입니다.

CentOS는 RHEL에서 유래한 Linux 배포판으로, 오픈 소스 코드 규정에 따라 컴파일되었습니다. 또한 RHEL과의 기능적 호환성을 유지하며 사용자가 저작권 비용을 지불하지 않고 사용하고 수정할 수 있는 무료 오픈 소스 운영 체제입니다. 그러면 CentOS는 Linux에서 32비트와 64비트를 구분합니까? 자세한 내용은 아래를 참조하십시오. CentOS는 32비트와 64비트를 구별합니다! CentOS32비트 시스템은 주로 PC용으로 출시되며, CentOS64비트 시스템은 주로 64비트 하드웨어 시스템에 설치됩니다.

1바이트는 8비트와 같습니다. 이진수 체계에서 0 또는 1 각각은 비트(bit)이고, 비트는 데이터 저장의 가장 작은 단위이며, 8비트(bit, 약칭 b)마다 바이트(Byte)를 구성하므로 "1바이트( 바이트) = 8비트”. 대부분의 컴퓨터 시스템에서 바이트는 8비트 데이터 단위입니다. 대부분의 컴퓨터는 바이트를 사용하여 문자, 숫자 또는 기타 문자를 나타냅니다.

PI Coin Infepth Analysis : 기회와 도전과 공존하는 암호 화폐 인 Pi Coin (π)은 2018 년 출생 이후 독특한 "모바일 마이닝"메커니즘으로 전 세계적으로 4,700 만 명 이상의 사용자를 유치했습니다. 이 기사는 기본 정보, 생태계, 응용 프로그램 시나리오 및 피코 인을 둘러싼 논쟁을 탐구하여 논란의 여지가있는 디지털 자산을 완전히 이해하는 데 도움이됩니다. Pi Coin Core Information 중국어 이름 : Pai Coin English Name : Pi Coin, π 동전 공통 약어 : π 공식 웹 사이트 : https://minepi.com/ 설립자 : Nicolas Kokkalis (Technical Head, Ph.D., Stanford University) 및 Chengdiao

2025 년에 10 개의 가상 통화 거래 플랫폼 : 1. Binance; 사용자 경험 및 기타 요인에 가장 적합합니다.

2025 년의 가장 신뢰할 수있는 가상 통화 거래 플랫폼 분석 : 1. BITGET 등; 거래 수수료, 사용자 경험 및 기타 요인에 가장 적합한 플랫폼을 선택하십시오.
