2017-11-12 4 views
-2

Ich verwende den Typ long zum Speichern von Werten, speichert jedoch keine Zahl mit mehr als 10 Ziffern.Integer-Datentyp mit mehr als 10 Ziffern

Gibt es eine Möglichkeit, einen neuen Integer-Typ mit erweiterter Speichergröße (z. B. 12 Byte oder mehr) zu erstellen?

+0

Sicher, definieren nur eine Klasse, wie 'Klasse ReallybigInt nützlich sein {...}; ', Sie müssen nur definieren, wie es in der Klasse funktionieren soll. – Aganju

+1

[Google-Suche.] (Https://www.google.com/search?source=hp&ei=CtgHWuXPHtO2jwPA1onIDQ&q=bigint+c%2B%2B&oq=BigInt+C%2B%2B&gs_l=psy-ab.1.0.0l5j0i22i30k1l5.1633.8522 .0.15772.11.10.0.0.0.0.99.591.10.10.0 .... 0 ... 1.1.64.psy-ab..1.10.588.0..0i131k1j0i10k1.0.sFD451JBL0U) – jwdonahue

+0

Benötigen Sie wirklich 12 Bytes? ? Oder wollen Sie nur Ganzzahlen mit mehr als 10 Ziffern? – Buddy

Antwort

1

Verwenden Sie eine long long (oder unsigned long long), die 64-Bit ist und einen Bereich von -9,223,372,036,854,775,808 bis 9,223,372,036,854,775,807 hat.

http://en.cppreference.com/w/cpp/language/types#Range_of_values

+1

Beachten Sie, dass eine 64-Bit-Ganzzahl nur 8 Bytes ist, aber die Frage sucht stattdessen nach einer 12+ Byte-Ganzzahl. –

+1

Das stimmt, aber die Frage will auch "eine Zahl mit mehr als 10 Ziffern speichern", was dies tut. – Buddy

+0

Ich versuchte lange lange, aber es speichert keine 11-stellige Nummer oder größer –

0

Sie können eine Implementierung von arbitrary precision, die Sie so viele Ziffern speichern können schreiben wie Sie wollen, oder verwenden Python. Sie müssen grundlegende Arithmetik von Grund auf implementieren, aber sobald Sie ihren Punkt bekommen, wird es nicht zu schwer sein. Der Standard garantiert long long mindestens 8 Bytes lang zu sein. Wenn Sie eine 8-Byte-Integer wollen, versuchen Sie dies:

#include <stdint.h> 
int64_t a; 
uint64_t b; // Unsigned 64-bit int 

Wenn Ihr Compiler beschwert sich, dass er nicht weiß, was int64_t ist, dann gibt es kein Glück, wenn Sie eine AP implementieren.

+0

@ M.M Hoppla! Ich stehe korrigiert. – iBug

Verwandte Themen