Integer und Long

  • hallo,

    ich wollte wissen warum ich hier eine solche Fehlermeldung bekomme??
    ....integer number too large.....

    das ist mir ja klar, dass es ausserhalb Integer liegt aber ich hab doch einen L (long) da dran gehängt und das sollte doch eigentlich so sein..

    ...long number too large... :confused:

    PHP
    public class Zahl{
         public static void main(String[] args){
              System.out.println(88888888899999999999L);
        }
    }

    Danke :thumb:
    ciao :zwinker:

  • du hast meine Frage nicht verstanden glaube ich :shinner:

    .... ich weiss, dass es ausserhalb LONG ist aber warum bekommen ich trotzdem eine Meldung ...

    ....integer number too large.....:ahhh:

    und nicht so..

    ...long number too large... :ahhh:

    Danke :thumb:
    ciao :zwinker:

  • "integer" ist weder das selbe wie "int" noch "Integer", no?
    "integer" heißt "ganzzahlig", du hast also eine zu große ganze Zahl angegeben. Zu groß für irgendeinen der ganzzahligen Datentypen, die Java so kennt.

    *plantsch*

  • Long geht auch nur bis 2^64 halbe. Aber wenn du, wie das Beispiel zeigt, eh nichts damit herumrechnen willst, hab ich hier die Lösung für dich:

    PHP
    public class Zahl{
         public static void main(String[] args){
              System.out.println("88888888899999999999");
        }
    }

    :ausheck:

    In einen FBO rendern ist wie eine Schachtel Pralinen - man weiß nie, was man kriegt.

  • Zitat von freakjan

    hallo,
    ich wollte wissen warum ich hier eine solche Fehlermeldung bekomme??
    ....integer number too large.....

    Verwend java.math.BigInteger zum Rechnen mit arbitrary precision integers in Java.

  • ich danke euch allen aber das ist die Antwort auf meine Frage :ausheck:

    Zitat von Plantschkuh!

    "integer" ist weder das selbe wie "int" noch "Integer", no?
    "integer" heißt "ganzzahlig", du hast also eine zu große ganze Zahl angegeben. Zu groß für irgendeinen der ganzzahligen Datentypen, die Java so kennt.

    Danke :thumb:
    ciao :zwinker:

  • Liefert eigentlich die println funktion diese Meldung, oder erkennt das der Compiler schon vorher? Ich nehm an, die Meldung von der Funktion oder?

    640K ought to be enough for anybody. :eek2:

  • der Compiler gibt mir die Meldung:

    HTML
    Zahl.java:3: integer number too large: 88888888899999999999
    System.out.println(88888888899999999999L);
     
    1 error
     
    Compilierung beendet

    Danke :thumb:
    ciao :zwinker:

  • Aha.. irgendwie komisch wenns dann ohne explizite Anweisung zum Long mit "L" funktioniert, weil der Compiler ja sowieso die Zahl als Integer interpretiert.. zumindest in C. Da gibts einfach einen Überlauf.

    640K ought to be enough for anybody. :eek2:

  • warum bekomme ich hier eine Fehlermeldung??
    ..... hab doch extra l als long deklariert :confused:

    Danke :thumb:
    ciao :zwinker:

  • Was genau ist die Fehlermeldung?

    Zitat

    weil long nur bis etwas mehr 2 millarden + oder - geht.


    mdk: Du meinst wohl int..

    Int: −2.147.483.648 bis 2.147.483.647
    Long: −9.223.372.036.854.775.808 bis 9.223.372.036.854.775.807

    640K ought to be enough for anybody. :eek2:

  • ABer ich hab doch l als LONG deklariert?!?!??! :confused:

    TypKorrektheit.java:4: integer number too large: 6446131400
    long l = 6446131400;


    1 error

    Compilierung beendet

    Danke :thumb:
    ciao :zwinker:

  • Achso klar. Der Compiler reserviert nur so viel Speicher beim Long wie für Int. Wenn du ihm sagst: long zahl = 6446131400L sollte es funktionieren, da der Compiler hier 64 Bit reserviert. Sag obs funktioniert hat.

    p.s: Du scheinst dich sehr mit Java zu beschäftigen.. wieso probierst du`s nicht auch mal mit C/C++?

    640K ought to be enough for anybody. :eek2:

  • Zitat von Swoncen


    mdk: Du meinst wohl int..

    Int: −2.147.483.648 bis 2.147.483.647
    Long: −9.223.372.036.854.775.808 bis 9.223.372.036.854.775.807



    sorry, habe die alten werte verwendet, die in visual basic gelten (noch aus zeiten des 80286).

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!