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

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)
  1. Hi,

    auf meiner 32 Bit Maschine liefert Perl mit 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.

    Ein erfahrener Programmierer weiß, daß Zahlen, die breiter sind als die maschineninherente Bitbreite sind, trotzdem berechnet werden können - sonst hätten ja die 8-Bit-Rechner nur Zahlen bis (unsigned) 256 bzw. (signed) 127 berechnen können.

    Die verschiedenen Bereiche der Zahl werden dann halt nacheinander bearbeitet, wenn's nicht gleichzeitig geht, weil die Zahl zu breit ist.

    cu,
    Andreas a/k/a MudGuard

    1. Hi danke,

      Die verschiedenen Bereiche der Zahl werden dann halt nacheinander bearbeitet, wenn's nicht gleichzeitig geht, weil die Zahl zu breit ist.

      Kann ja nur so sein, Stichwort Register. Mein Denkefehler war ja, daß 0xFFFFFFFF durch 1000 geteilt dasselbe ergibt, tatsächlich jedoch wird die richtige Zahl intrn geteilt und nicht die Zahl 0xFFFFFFF.

      Badewetter 😉

      Mit oder ohne Fühstück, das ist hier die Frage.