


PHP nutzt Bitoperationen, um Addition, Subtraktion, Multiplikation und Division von ganzen Zahlen zu implementieren und zu testen (Codebeispiel)
Der Inhalt dieses Artikels befasst sich mit der Verwendung von Bitoperationen zur Implementierung von Additionen, Subtraktionen, Multiplikationen und Divisionen von ganzen Zahlen (Codebeispiele). Ich hoffe, dass dies der Fall ist Dir helfen.
<?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
Verwandte Empfehlungen:
Code für einfache Interaktion zwischen PHP- und HTML-Formularen
Wie Erzeugt PHP Klassen für HTML-Dateien? So generieren Sie eine HTML-Dateiklasse in PHP
Das obige ist der detaillierte Inhalt vonPHP nutzt Bitoperationen, um Addition, Subtraktion, Multiplikation und Division von ganzen Zahlen zu implementieren und zu testen (Codebeispiel). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



1 Bit entspricht einem Achtel eines Bytes. Im binären Zahlensystem ist jede 0 oder 1 ein Bit (Bit), und ein Bit ist die kleinste Datenspeichereinheit. Alle 8 Bits (Bit, abgekürzt als b) bilden ein Byte (Byte), also „1 Byte (; Byte) = 8 Bits“. In den meisten Computersystemen ist ein Byte eine 8 Bit lange Dateneinheit. Die meisten Computer verwenden ein Byte zur Darstellung eines Zeichens, einer Zahl oder eines anderen Zeichens.

1 Byte entspricht 8 Bit. Die Datenspeicherung erfolgt in „Byte“ (Byte) als Einheit, und die Datenübertragung erfolgt meist in „Bit“ (Bit) als Einheit. Ein Bit stellt eine 0 oder 1 (also binär) dar, und alle 8 Bits (Bit). ) bilden ein Byte und sind daher die kleinste Informationseinheit;

Der Redis-Testcode in diesem Artikel basiert auf der folgenden Umgebung: Betriebssystem: MacOS 64-Bit-Version: Redis5.0.764bit Betriebsmodus: Standalone-Modus Redis-Bit-Operation Reids-Bit-Operation wird auch Bit-Array-Operation und Bitmap genannt. Es bietet vier Befehle : SETBIT, GETBIT, BITCOUNT und BITTOP Zum Bearbeiten binärer Bit-Arrays. Schauen wir uns zunächst eine Reihe grundlegender Operationsbeispiele an. SETBIT-Syntax: SETBITkeyoffsetvalue ist: Befehlstasten-Offset 0/1 Der Befehl setbit wird verwendet, um den binären Bit-Einstellungswert des angegebenen Offsets in das Bit-Array zu schreiben. Der Offset beginnt bei 0 und zu zählen ist nur erlaubt Schreiben 1 oder 0,

CentOS ist eine Linux-Distribution, die von RHEL stammt und nach den Regeln des Open-Source-Codes kompiliert ist. Darüber hinaus bleibt die funktionale Kompatibilität mit RHEL erhalten und es handelt sich um ein kostenloses Open-Source-Betriebssystem, das Benutzer verwenden und ändern können, ohne Urheberrechtsgebühren zu zahlen. Unterscheidet CentOS unter Linux zwischen 32-Bit und 64-Bit? Einzelheiten finden Sie weiter unten. CentOS unterscheidet zwischen 32-Bit und 64-Bit!

1 Byte entspricht 8 Bits. Im binären Zahlensystem ist jede 0 oder 1 ein Bit (Bit), und ein Bit ist die kleinste Datenspeichereinheit. Alle 8 Bits (Bit, abgekürzt als b) bilden ein Byte (Byte), also „1 Byte (; Byte) = 8 Bits“. In den meisten Computersystemen ist ein Byte eine 8-Bit-Dateneinheit. Die meisten Computer verwenden ein Byte zur Darstellung eines Zeichens, einer Zahl oder eines anderen Zeichens.

PI-Münzmünze Eingehende Analyse: PI Coin (π), eine Kryptowährung, die mit Möglichkeiten und Herausforderungen zusammenfasst, hat seit seiner Geburt im Jahr 2018 mit seinem einzigartigen "mobilen Mining" -Mechanismus mehr als 47 Millionen Benutzer weltweit angezogen. In diesem Artikel werden die grundlegenden Informationen, das Ökosystem, die Anwendungsszenarien und die Kontroverse um Picoin untersucht und Ihnen helfen, dieses kontroverse digitale Vermögenswert vollständig zu verstehen. PI -Münzkerninformationen Chinesischer Name: PAI -Münze Englisch Name: Pi Coin, π Coin Common Abkreviation: π offizielle Website: https://minpi.com/ Gründer: Nicolas Kokkalis (technischer Leiter, Ph.D., Stanford University) und Chengdiao

Top Ten Virtual Currency Trading Platform in 2025: 1. Binance; Sie am besten für Benutzererfahrungen und andere Faktoren.

Die Linux-C-Sprache verfügt über ein Bit. In der C-Sprache des Mikrocontrollers ist Bit ein neues Schlüsselwort, das häufig zum Definieren von Bittypdaten in der C-Sprache verwendet wird. Definiert durch Bitfelder (in Strukturen); 3. Definiert durch kombinierte Bitoperatoren.
