1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

Integer und Long

  • freakjan
  • 6. Mai 2006 um 20:30
  • Unerledigt
  • freakjan
    7
    freakjan
    Mitglied
    Punkte
    450
    Beiträge
    64
    • 6. Mai 2006 um 20:30
    • #1

    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:

  • mdk
    26
    mdk
    Emeritus
    Reaktionen
    130
    Punkte
    7.120
    Beiträge
    1.390
    • 6. Mai 2006 um 20:35
    • #2

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

  • freakjan
    7
    freakjan
    Mitglied
    Punkte
    450
    Beiträge
    64
    • 6. Mai 2006 um 20:39
    • #3

    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:

  • Plantschkuh!
    24
    Plantschkuh!
    Mitglied
    Reaktionen
    163
    Punkte
    6.173
    Beiträge
    1.181
    • 6. Mai 2006 um 20:51
    • #4

    "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*

  • Wolfibolfi
    37
    Wolfibolfi
    Mitglied
    Reaktionen
    186
    Punkte
    14.936
    Beiträge
    2.942
    • 6. Mai 2006 um 21:40
    • #5

    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.

  • Spockman
    5
    Spockman
    Mitglied
    Punkte
    210
    Beiträge
    41
    • 7. Mai 2006 um 00:16
    • #6
    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.

  • freakjan
    7
    freakjan
    Mitglied
    Punkte
    450
    Beiträge
    64
    • 7. Mai 2006 um 22:22
    • #7

    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:

  • Swoncen
    22
    Swoncen
    Mitglied
    Reaktionen
    1
    Punkte
    5.331
    Beiträge
    993
    • 7. Mai 2006 um 22:28
    • #8

    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:

  • freakjan
    7
    freakjan
    Mitglied
    Punkte
    450
    Beiträge
    64
    • 7. Mai 2006 um 22:37
    • #9

    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:

  • Swoncen
    22
    Swoncen
    Mitglied
    Reaktionen
    1
    Punkte
    5.331
    Beiträge
    993
    • 7. Mai 2006 um 22:45
    • #10

    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:

  • freakjan
    7
    freakjan
    Mitglied
    Punkte
    450
    Beiträge
    64
    • 7. Mai 2006 um 23:46
    • #11

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

    PHP
    public class TypKorrektheit{
      public static void main(String[] args){
       int a = 82000000;
       long l = 6446131400;
    
    
       System.out.println("In Deutschland leben: " + a + " Menschen");
       System.out.println("Auf der Erde Leben: " + l + " Menschen");
    
      }
     }
    Alles anzeigen

    Danke :thumb:
    ciao :zwinker:

  • Swoncen
    22
    Swoncen
    Mitglied
    Reaktionen
    1
    Punkte
    5.331
    Beiträge
    993
    • 8. Mai 2006 um 00:17
    • #12

    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:

  • freakjan
    7
    freakjan
    Mitglied
    Punkte
    450
    Beiträge
    64
    • 8. Mai 2006 um 00:23
    • #13

    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:

  • Swoncen
    22
    Swoncen
    Mitglied
    Reaktionen
    1
    Punkte
    5.331
    Beiträge
    993
    • 8. Mai 2006 um 00:28
    • #14

    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:

  • Lord Binary
    18
    Lord Binary
    Mitglied
    Reaktionen
    11
    Punkte
    3.301
    Beiträge
    647
    • 8. Mai 2006 um 00:31
    • #15

    long l = 6446131400L;
    sollte compilieren.


    Trading for a living [equities,futures,forex]

  • mdk
    26
    mdk
    Emeritus
    Reaktionen
    130
    Punkte
    7.120
    Beiträge
    1.390
    • 8. Mai 2006 um 08:10
    • #16
    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).

  • Maximilian Rupp 27. Dezember 2024 um 12:06

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

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

Benutzerkonto erstellen Anmelden

Benutzer online in diesem Thema

  • 1 Besucher

Rechtliches

Impressum

Datenschutzerklärung