pl: Wie rechnet eine 32 Bit Maschine mit großen Zahlen?

Beitrag lesen

Also ich verstehe das nicht:

auf meiner 32 Bit Maschine liefert Perl mit

# Sekunden
my $sec = 1386939247;
# millisekunden
my $msec = 1386939247000;

# Ergebnis ist gleich
printf qq(
Aus  Sekunden:       %s
Aus Millisekunden:  %s
), 
scalar localtime($sec),
scalar localtime($msec/1000);


printf qq(
Sekunden:      %08X
Millisekunden: %08X
), $sec, $msec;

als Ergebnis

Aus  Sekunden:       Fri Dec 13 13:54:07 2013
Aus Millisekunden:   Fri Dec 13 13:54:07 2013

Sekunden:      52AB036F
Millisekunden: FFFFFFFF

Wie kann das Ergebnis gleich sein, wenn 0xFFFFFFFF durch 1000 geteilt wird? Und eigentlich dürfte ja schon bei der Deklaration von 1386939247000 als Zahl eine Meldung erscheinen weil diese Zahl als Zahl mehr als 32 Bit bötigt.

Bitte mal um Hinweise.

perl -v

This is perl 5, version 16, subversion 3 (v5.16.3) built for MSWin32-x86-multi-thread
(with 1 registered patch, see perl -V for more detail)