www.vorhilfe.de
- Förderverein -
Der Förderverein.

Gemeinnütziger Verein zur Finanzierung des Projekts Vorhilfe.de.
Hallo Gast!einloggen | registrieren ]
Startseite · Mitglieder · Impressum
Forenbaum
^ Forenbaum
Status VH e.V.
  Status Vereinsforum

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Suchen
 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
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 ^
ev.vorhilfe.de
[ Startseite | Mitglieder | Impressum ]