1. Weiterleitung zu NetzLiving.de
  2. Forum
    1. Unerledigte Themen
  3. zum neuen Forum
  • Anmelden
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

Integer und Long

  • freakjan
  • 6. Mai 2006 um 20:30
  • Unerledigt
Hallo zusammen,

das Informatik-Forum geht in den Archivmodus, genaue Informationen kann man der entsprechenden Ankündigung entnehmen. Als Dankeschön für die Treue bekommt man von uns einen Gutscheincode (informatikforum30) womit man bei netzliving.de 30% auf das erste Jahr sparen kann. (Genaue Infos sind ebenfalls in der Ankündigung)

Vielen Dank für die Treue und das Verständnis!
  • freakjan
    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);
        }
    }
  • mdk
    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
    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:

  • Plantschkuh!
    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.

  • Wolfibolfi
    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:

  • Spockman
    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
    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.

  • Swoncen
    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?

  • freakjan
    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
  • Swoncen
    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.

  • freakjan
    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
  • Swoncen
    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

  • freakjan
    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

  • Swoncen
    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++?

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

    long l = 6446131400L;
    sollte compilieren.

  • mdk
    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.

  1. Datenschutzerklärung
  2. Impressum