Heim >Backend-Entwicklung >PHP-Problem >So fügen Sie große Ganzzahlen mithilfe von PHP-Arrays hinzu

So fügen Sie große Ganzzahlen mithilfe von PHP-Arrays hinzu

PHPz
PHPzOriginal
2023-04-23 10:19:29727Durchsuche

Da moderne Computer im täglichen Leben immer häufiger eingesetzt werden, wird es für moderne Computer immer schwieriger, den Anforderungen der Verarbeitung großer Datenmengen gerecht zu werden. In der tatsächlichen Entwicklung müssen wir häufig Operationen wie Addition, Subtraktion, Multiplikation und Division an großen ganzen Zahlen durchführen, und diese Operationen überschreiten häufig den Bereich der von Computern normalerweise unterstützten ganzen Zahlen. Um diese Probleme zu lösen, müssen wir Datenstrukturen und Algorithmen in Computern nutzen. In diesem Artikel wird erläutert, wie Sie mithilfe von PHP-Arrays große Ganzzahlen hinzufügen.

1. Darstellungsmethode für große ganze Zahlen

In Computern wird normalerweise die Zweierkomplementdarstellung von ganzen Zahlen verwendet, wobei das Komplement einer positiven ganzen Zahl ihre binäre Darstellung ist, während das Komplement einer negativen ganzen Zahl die binäre Darstellung davon ist absoluter Wert Die Darstellung wird bitweise invertiert und dann wird 1 hinzugefügt. Wenn Sie jedoch große Ganzzahlen verarbeiten möchten, die den von Ihrem Computer unterstützten Ganzzahlbereich überschreiten, müssen Sie andere Darstellungsmethoden verwenden.

Eine übliche Methode zur Darstellung großer Ganzzahlen ist die Verwendung einer Zeichenfolgendarstellung, bei der jede Ziffer durch ein Zeichen dargestellt wird. Beispielsweise kann eine Zeichenfolge, die die Dezimalzahl 1234567890 darstellt, als „1234567890“ dargestellt werden. Allerdings ist die Verwendung von Zeichenfolgen zur Darstellung von Zahlen bei der Durchführung numerischer Operationen ineffizient, sodass wir andere Datenstrukturen zur Darstellung großer Ganzzahlen verwenden müssen.

Eine weitere häufig verwendete Methode zur Darstellung großer Ganzzahlen ist die Verwendung einer Array-Darstellung. Bei dieser Methode konvertieren wir eine große Ganzzahl in ein Array, wobei jedes Element ein ganzzahliges Bit darstellt. Beispielsweise kann ein Array, das die Dezimalzahl 1234567890 darstellt, als [1,2,3,4,5,6,7,8,9,0] dargestellt werden. Der Vorteil der Verwendung eines Arrays zur Darstellung großer Ganzzahlen besteht darin, dass numerische Operationen effizienter ausgeführt werden können und außerdem Speicherplatz gespart werden kann, da einige der höherwertigen Zahlen 0 sind und nicht im Array dargestellt werden müssen .

2. So fügen Sie große Ganzzahlen mithilfe von PHP-Arrays hinzu

In PHP können wir Arrays verwenden, um große Ganzzahlen darzustellen und hinzuzufügen. Das Folgende ist der PHP-Code:

function addBigIntegers($a, $b) {
  //将数组a和b的长度对齐
  while (count($a) < count($b)) {
    $a[] = 0;
  }
  while (count($b) < count($a)) {
    $b[] = 0;
  }
  $carry = 0; //表示进位数
  $result = array(); //保存结果的数组
  for ($i = count($a) - 1; $i >= 0; $i--) {
    $sum = $a[$i] + $b[$i] + $carry; //计算当前位上的和
    $carry = intval($sum / 10); //计算进位数
    $result[$i] = $sum % 10; //计算当前位上的结果
  }
  if ($carry > 0) {
    array_unshift($result, $carry); //如果最高位有进位,将进位添加到结果数组中
  }
  return $result;
}

$a = array(1, 2, 3, 4, 5); 
$b = array(9, 8, 7, 6, 5);
$result = addBigIntegers($a, $b);
echo implode("", $result); //输出结果的十进制表示

Im obigen Code wird die Funktion addBigIntegers verwendet, um zwei Arrays mit großen Ganzzahlen hinzuzufügen und das Ergebnisarray zurückzugeben. In der Funktion richten wir zunächst die Längen der beiden Arrays aus, indem wir am Ende des kürzeren Arrays 0 hinzufügen. Dann addieren wir beginnend mit dem höchsten Bit des Arrays, berechnen die Summe, übertragen die Zahl und das Ergebnis am aktuellen Bit und speichern das Ergebnis in einem neuen Array. Wenn es schließlich einen Übertrag vom höchsten Bit gibt, wird der Übertrag am Anfang des Ergebnisarrays hinzugefügt.

Für die Eingabe in diese Funktion können wir Arrays beliebiger Länge verwenden, um große ganze Zahlen darzustellen, da die Funktion die Längen dieser Arrays automatisch anpasst. Die Ausgabe ist ein Array, in dem jedes Element ein ganzzahliges Bit des Ergebnisses darstellt. Wenn Sie das Ergebnis als Dezimalzahl darstellen müssen, können Sie dies tun, indem Sie die Zahlen im Ausgabearray in Zeichen konvertieren und diese dann miteinander verketten.

Zusammenfassung

In diesem Artikel wird die Methode zum Hinzufügen großer Ganzzahlen mit PHP-Arrays vorgestellt. In der tatsächlichen Entwicklung ist diese Methode sehr praktisch, da sie große Ganzzahloperationen effizient verarbeiten und Speicherplatz sparen kann. Wenn wir diese Methode verwenden, müssen wir nur die großen Ganzzahlen in Arrays konvertieren und sie mit der Funktion addBigIntegers hinzufügen. Wenn Sie andere numerische Operationen ausführen müssen, können Sie diese Methode erweitern.

Das obige ist der detaillierte Inhalt vonSo fügen Sie große Ganzzahlen mithilfe von PHP-Arrays hinzu. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn