Beiträge von mocetin

    Schreib dir den Wert (111222333) in Hexadezimaldarstellung oder Binärdarstellung hin, dann siehst du, was er macht.

    Z.B. Hex: 6a11e3d; die letzten 4 Stellen davon: 1e3d (= 7741)
    4 Hex-Stellen = 16 Bit

    Ja macht er tatsächlich aber warum die letzten 4 stellen wenn er i3=(int) c3 als deklaration angibt sollte er das nicht wieder in 32-bit angeben oder verstehe ich da etwas falsch??

    Es werden die unteren 16 Bit genommen (weil char so groß ist) und sign-extended.

    Und die Ausgabe passiert sicher nicht bei der Übersetzung, sondern bei der Ausführung.


    meinte ich ja bei der Aus führung :)

    nur kannst du mir bitte das mit dem 16 bit und dem sign extended genauer erklären das versehe ich nicht ganz ? wie rechnet er das kokret ??

    In meinem zweiten Praktikum geht es darum das ich, wie Java mit verschiedenen Datetypen operiert und wie sich ein impliziter und expliziter Typecast auswirkt.

    Die Programmierung lautet wie folgt :

    class Versuch2a {
    static public void main (String [] args) {
    int i1=50;
    int i2=70;
    int i3=111222333;
    char c1='e';
    char c2='K';
    char c3;
    String s1="HELLO";
    String s2=" WORLD";
    c3=(char)i3;
    i3=(int)c3;
    System.out.println(i1+i2);
    System.out.println((char)(i1+i2)+"\n"+(char)i1+(char)i2);
    System.out.println((char)i1+i2+"\t"+(char)i2+i1+"\t"+((int)c1-i1));
    System.out.println((char)i2+i1+"\t"+(char)i1+i2+"\t"+((int)c1-i1));
    System.out.println(""+(char)i2+i1+"\t"+(char)i1+i2+"\t"+((int)c1-i2));
    System.out.println(c1+"t"+((int)c1)+i2+c2);
    System.out.println(s1+s2);
    System.out.println(i3);
    }
    }

    Die AUsgabe beim Übersetzen wäre :

    120

    x
    2F

    120 F50 51

    120 270 51

    F50 270 31

    et10170K

    HELLO WORLD

    7741


    am Ende bei der Anweisung System.out.println(i3);
    kommt beim übersetzen : 7741
    wie macht er das und wie kommt er auf die zahl??

    ich habe erst neu mit dem Studium angefangen und habe deutliche Schwierigkeiten mit Informatik, daher habe ich gehofft hier hilfe zu finden in dem ich hier meine Fragen rein stelle!

    Ich habe in kürze Praktikum und habe direkt schon Schwierigkeiten. Wir arbeiten mit Java und dem JVM
    (JOE) ich habe die JVM konfigurieren können so das er das übersetzt was ich eingebe nur verstehe ich nicht das was ich eingebe:

    PRAKTIKUM 1: Die Grundwerkzeuge der Java - Programmierung

    import java.util.*;

    class Versuch1{

    public static void main (String [] args) {
    String [] [] bild={{"##########","#### ####","##########"},
    {" ########","##########","######## "},
    {" ########","#### ####","######## "},
    {" ###### ","##########"," ###### "},
    {" ###### ","#### ####"," ###### "},
    {" ###### "," ###### "," ###### "}};
    int zahl=new Random() .nextInt (6);

    System.out.println("+----------+");
    for(int i=0;i<bild[0].length;i++) {
    System.out.println("|"+bild[zahl] [i]+"|");
    if(i<bild[0].length-1) {
    System.out.println("|##########|");
    }
    }
    System.out.println("+----------+");

    }
    }
    Bei übersetzen kommt raus :
    |##########|
    |##########|
    |######## |
    +----------+

    und beim 2 übersetzen

    |##########|
    |##########|
    | ###### |
    +----------+
    und dann immer andere !!

    Meine Frage wäre warum macht der diese unterschiedliche Ausgabe was will mir das Bild zeigen und Was macht das Programm??