matheraum.de
Raum für Mathematik
Offene Informations- und Nachhilfegemeinschaft

Für Schüler, Studenten, Lehrer, Mathematik-Interessierte.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Schulmathe
  Status Primarstufe
  Status Mathe Klassen 5-7
  Status Mathe Klassen 8-10
  Status Oberstufenmathe
    Status Schul-Analysis
    Status Lin. Algebra/Vektor
    Status Stochastik
    Status Abivorbereitung
  Status Mathe-Wettbewerbe
    Status Bundeswettb. Mathe
    Status Deutsche MO
    Status Internationale MO
    Status MO andere Länder
    Status Känguru
  Status Sonstiges

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
StartseiteMatheForenJavaAusgabe?!
Foren für weitere Schulfächer findest Du auf www.vorhilfe.de z.B. Deutsch • Englisch • Französisch • Latein • Spanisch • Russisch • Griechisch
Forum "Java" - Ausgabe?!
Ausgabe?! < Java < Programmiersprachen < Praxis < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Java"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Ausgabe?!: Aufklärung
Status: (Frage) beantwortet Status 
Datum: 18:07 So 01.12.2013
Autor: i-she

Aufgabe
public class Vid1DatentypenFuerZahlen {

public static void main (String []args){

short m= 0;
long n = 1;

double x = 9;
double y= 5;
double z = x/y;

System.out.println(z + m + n);
}

}

Hallo,

die "Aufgabenstellung" ist das, was ich in Eclipse eingegeben habe.
Ich würde gerne wissen, was der Rechner tut, sodass er 2.8 ausgibt.
In wiefern spielen da die Datentypen eine Rolle? Wie beeinflussen sie sich?
Wie fasst der Rechner diese Programme auf?

Meine eigentliche Absicht war als Ausgabe : 1,8 0 9 zu bekommen.

Gruß

i-she

ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.

        
Bezug
Ausgabe?!: Antwort
Status: (Antwort) fertig Status 
Datum: 18:23 So 01.12.2013
Autor: DieAcht


> public class Vid1DatentypenFuerZahlen {
>  
> public static void main (String []args){
>  
> short m= 0;
> long n = 1;
>  
> double x = 9;
> double y= 5;
>   double z = x/y;
>  
> System.out.println(z + m + n);
>   }
>  
> }
>  Hallo,
>
> die "Aufgabenstellung" ist das, was ich in Eclipse
> eingegeben habe.
> Ich würde gerne wissen, was der Rechner tut, sodass er 2.8
> ausgibt.
> In wiefern spielen da die Datentypen eine Rolle? Wie
> beeinflussen sie sich?
> Wie fasst der Rechner diese Programme auf?

public static void main(String[] args) {
    short m = 0;
    long n = 1;

    double x = 9;
    double y = 5;
    double z = x / y; // z=9/5 und in dem Fall double/double also kein Problem -> z=1.8

    System.out.println(z + m + n);
// Gucken wir uns das doch mal an:
// z+m:  z ist double und m ist short -> double Wert mit: z+m=1.8
// z+m ist double und nun z+m+n mit n long, also auch double mit: z+m+n=2.8

}

>
> Meine eigentliche Absicht war als Ausgabe : 1,8 0 9 zu
> bekommen.

Wieso ? Begründe das mal!

>
> Gruß
>
> i-she
>
> ich habe diese Frage in keinem Forum auf anderen
> Internetseiten gestellt.

DieAcht

Bezug
                
Bezug
Ausgabe?!: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 15:11 Mo 02.12.2013
Autor: i-she

Vielen Dank, die Erklärung habe ich verstanden.

Also immer wenn ich mit double und z.B. short rechne ist das Ergebnis double?
Nach welchem Prinzip geht die Festlegung des Datentyps des Ergebnisses?



Bezug
                        
Bezug
Ausgabe?!: Antwort
Status: (Antwort) fertig Status 
Datum: 15:49 Mo 02.12.2013
Autor: DieAcht


> Vielen Dank, die Erklärung habe ich verstanden.
>
> Also immer wenn ich mit double und z.B. short rechne ist
> das Ergebnis double?

Kommt immer darauf an. Das kann man so allgemein nicht sagen!

Typischer Fall:
byte a = 100;
byte b = a + 30;
// b ist jetzt nicht 130, sondern -126.
// Erklärung:
// Wertebereich von byte ist [mm] 2^{8-1} [/mm] bis [mm] 2^{8-1}-1, [/mm] also von -128 bis 127.
// Hier entsteht ein Überlauf, also er rechnet weiter:
// 100 + 30 =
// (100 + 1) + 1 + [mm] \ldots [/mm] + 1 (genau 30 mal)
// Er kommt bei 100+27 an und hat 127
// Nun will er weiter gehen btw. er muss noch 3 mal!
// 127+1=-128
// -128+1=-127
// -127+1=-126

Wenn du aber hättest:
byte a = 100;
short b = a+ 1000;
// Hier hast du kein Problem, denn short deckt das ohne Probleme ab

Guck dir mal alle primitiven Datentypen im Netz an!

> Nach welchem Prinzip geht die Festlegung des Datentyps des
> Ergebnisses?
>
>  

DieAcht

Bezug
                                
Bezug
Ausgabe?!: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 15:55 Mo 02.12.2013
Autor: i-she

Okay, vielen Dank :)

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Java"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.schulmatheforum.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]