Thread datentyp unsigned für perl? (13 answers)
Opened by tolgale at 2007-05-20 23:59

sid burn
 2007-05-23 19:39
#76803 #76803
User since
2006-03-29
1520 Artikel
BenutzerIn

user image
[quote=tolgale,23.May.2007, 16:45]CPAN:integer

Code: (dl )
$a = 2**31 - 1;  # Largest positive integer on 32-bit machines


demnach wenn es darüber geht [ 2147483647 ].[/quote]
Hmm,
also ca. 800 Millarden finde ich deutlich höher als 2147483647. Und das Stück Code oben geht ohne Probleme auf meiner 32bit Maschiene (Athlon XP) zuhause. Aber auch auf meiner Arbeitsmaschiene. Ist zwar ein Athlon 64 benutze aber kein 64bit Kernel.

Code: (dl )
1
2
3
4
sidburn@sid:~$ uname -a
Linux sid 2.6.18-4-686 #1 SMP Wed Apr 18 09:55:10 UTC 2007 i686 GNU/Linux
sidburn@sid:~$ perl -e '$a=2147483647; $b=2147483647; $c=2147483647; print $a + $b + $c, "\n"'
6442450941


Ansonsten macht "integer" aber etwas anderes. Das kürzt alle Fließzahlen die du in deinem Programm hast auf Integer Zahlen ab. Und sobald ich mit Zahlen über 2 Mill. Rechne wird mit den Zahlen umgeganen wie in C. Das ist aber ein Feature das selbst C nicht hat. Und nicht mit unsigned Zahlen vergleichbar ist.

Aber warum sollte man das wollen? Wenn du Integer Zahlen möchtest kannst du auch einfach ein "int($zahl)" Schreiben. Geht dann auch mit Zahlen größer 2 Mill.
Nicht mehr aktiv. Bei Kontakt: ICQ: 404181669 E-Mail: perl@david-raab.de

View full thread datentyp unsigned für perl?