Skalarprodukt mittels long und binärzahlen

Status
Nicht offen für weitere Antworten.

Binary.Coder

Aktives Mitglied
Hallo ihr,

ich komme bei folgender Aufgabe nicht weiter:
20091006-f59bhxm7dfyt1sbkkpd7mmra7x.jpg



folgendes war die Idee:
Mittels (x&y) habe ich ja bereits alle Elemente miteinander multipliziert.
Dann muss ich da ja eigentlich nur noch die Summe bilden.
Theoretisch müsste es laufen denke ich aber irgendwo stimmt etwas nicht.
tmp wird immer größer.

Java:
public class SS06afg2b
{
    long x=19;
    long y=6;
    long s=0;
    long tmp;
    long ergebnis;
    long z;
    
    
   public void lauf(){
    z=(x&y);
    System.out.println("(x&y)= " + z);
    tmp=z;
    ergebnis=rek();
    System.out.println(ergebnis);
}
    public long rek(){//s für Stelle, b für back
        if(s<62){
        System.out.println("Durchlauf" + s + "tmp= " + tmp);
        tmp=((z^(1L<<s))+(z^(1L<<s+1)));
        s++;
        rek();
    }
        return tmp;
    } 
        
}

Würde mich über Hilfe freuen.
Besten Gruß und Dank

Kian
 

0x7F800000

Top Contributor
wären etwas furchtbarere Bezeichner und mehr unnötige variablen möglich gewesen? Was soll das alles sein, wo ist hier überhaupt was...? Und wer hat die Einrückungen so derart übelst zerbombt^^ :eek:

Spontan geraten: so müsste es gehen:
Java:
public static boolean booleanScalarProduct(long a, long b){
	long multiplied=a&b;
	boolean result=false;
	for(int i=0; i<64; i++) result^=(((multiplied>>i)&1)==1);
	return result;
}
 

Binary.Coder

Aktives Mitglied
Hallo,

aller besten Dank!
Ja das mit den Variablen und so liegt daran, dass die, die von unseren Studiengebühren bezahlt werden auch was für ihr Geld tun sollen.

Habe nur noch eine Frage:
Kann es sein, dass es hier eigentlich nur darauf ankommt, ob am Ende eine 1 steht oder nicht?
Weil wenn ich z.B.
nehmen wir mal an, x&y ergibt 0101
dann vergleiche ich ja bei:
i=0
0101
0001 &
-----
0001

da boolean result=false; am Anfang false und 0001==1 stimmt ergibt result=true

i=1
1010
0001 &
-----
0000 ergibt false; da boolean result=true (von eben) ergibt das ja auch wieder true und für i->unendlich kommt immer nur noch das selbe heraus. Oder irre ich mich?

Danke noch mal und gruß
 

0x7F800000

Top Contributor
Ja das mit den Variablen und so liegt daran, dass die, die von unseren Studiengebühren bezahlt werden auch was für ihr Geld tun sollen.
top argument gegen studiengebühren :lol:

Kann es sein, dass es hier eigentlich nur darauf ankommt, ob am Ende eine 1 steht oder nicht?
Weil wenn ich z.B.
nehmen wir mal an, x&y ergibt 0101
dann vergleiche ich ja bei:
i=0
0101
0001 &
-----
0001

da boolean result=false; am Anfang false und 0001==1 stimmt ergibt result=true

i=1
1010
0001 &
-----
0000 ergibt false; da boolean result=true (von eben) ergibt das ja auch wieder true und für i->unendlich kommt immer nur noch das selbe heraus. Oder irre ich mich?
Ähm, "rechts" ist dort -------->
<---------------- trod tsi "sknil"

Wenn man von links und rechts spricht, stellt man sich die bits so vor, als wären sie als eine gewöhnliche Binärzahl aufgeschreieben, d.h. links sind die hohen potenzen, rechts die kleinen.
 

Binary.Coder

Aktives Mitglied
äh jo Danke.

Mir ging es jedoch darum, ob es hier quasi nur darauf Ankommt, ob am Anfang also rechts eine 1 steht => am Ende egal was nach der 1 folgt immer true

Scheint mir so.
 

0x7F800000

Top Contributor
ja, weil die 1 eben ganz rechts steht, und du die ganzen interessanten bits aber nach links wegschiebst. Da brauchst du dich nicht zu wundern, dass bei der "lesenden 1" rechts nichts mehr ankommt, und du nur noch irgendwelchen schrott erhälst, der nur von der ersten Stelle abhängt. Mit dem geforderten skalarprodukt hat's ja nichts zu tun: du kannst doch aus der summe nicht einfach fast alle (bis auf den ersten) Summanden rauswerfen...
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
kilopack15 Java Array Skalarprodukt testen Java Basics - Anfänger-Themen 21
E Reihenfolge der Werte umdrehen (mittels statischem int-Array Java Basics - Anfänger-Themen 3
M Anzahl Kommandozeilenparamter mittels Methode Java Basics - Anfänger-Themen 11
B Race Condition mittels Semaphore verhindern Java Basics - Anfänger-Themen 13
B Dom Manipulationen mittels Java Java Basics - Anfänger-Themen 8
ravenz Schleife mit for über String Array „zahlen“und prüfen ob Wert „a“ oder „b“ oder „c“ entspricht (mittels || ) Java Basics - Anfänger-Themen 4
D Gerade oder ungerade Zahl mittels Methoden Java Basics - Anfänger-Themen 13
Fats Waller Compiler-Fehler Kann ich einen String und die Summe zweier Char Werte mittels der println Anweisung ausgeben Java Basics - Anfänger-Themen 4
P9cman Vokale in einem String überprüfen mittels Rekursion Java Basics - Anfänger-Themen 8
Poppigescorn Arrayliste Mittels Scanner erweitern Java Basics - Anfänger-Themen 6
TimoN11 Quadratwurzel mittels Funktionswert der Quadratfunktion Java Basics - Anfänger-Themen 9
Khaled-Abo Ziffern unterscheiden mittels einer For-Schleife Java Basics - Anfänger-Themen 6
L Quadratwurzelrechnung mittels Heron-Verfahren Java Basics - Anfänger-Themen 6
P Klassenübergreifende Ausgabe mittels "getter" nicht möglich Java Basics - Anfänger-Themen 21
M Objekte mittels equals vergleichen Java Basics - Anfänger-Themen 14
I csv auslesen, mittels List Java Basics - Anfänger-Themen 18
V Erste Schritte Potenzen b^n mittels Schleife ermitteln Java Basics - Anfänger-Themen 7
S XML mittels HTTP Get Anfrage Java Basics - Anfänger-Themen 4
W Teilstring durch Teilstring mittels StringBuilder ersetzen Java Basics - Anfänger-Themen 7
P Liste mit Lücken mittels Filter aggregieren Java Basics - Anfänger-Themen 7
M Methoden Mittelwert rationaler Zahlen mittels Methode Java Basics - Anfänger-Themen 4
P Klassen In einer Autoklasse das Objekt Auto mittels Collection Speichern Java Basics - Anfänger-Themen 4
M Fibonacci rekursiv mittels Cache Java Basics - Anfänger-Themen 17
K Methoden Zahlensysteme umwandeln mittels Rekursion Java Basics - Anfänger-Themen 5
S int-Array mittels Arrays.sort() in einer Schleife sortieren. Java Basics - Anfänger-Themen 2
A JavaScript Object Notation einbinden mittels Maven Java Basics - Anfänger-Themen 7
L Liste mittels Stack implementieren Java Basics - Anfänger-Themen 0
J OOP GUI-Einstellungen mittels Preferences Java Basics - Anfänger-Themen 0
J ComboBox mittels neuer Methode befüllen Java Basics - Anfänger-Themen 3
A Android-Lib: Sourcecode Generator mittels Annotation Processing Java Basics - Anfänger-Themen 0
W Erste Schritte Exceltabelle in Datenbank übertragen mittels XDEV Java Basics - Anfänger-Themen 7
L Histogram mittels Schleifen und Arrays Java Basics - Anfänger-Themen 9
S Klassen Tiefe Kopie mittels Kopierkonstruktor Java Basics - Anfänger-Themen 6
S Columnindex mittels Columnname herrausfinden Java Basics - Anfänger-Themen 6
M Explorer oeffnen mittels java.awt.Desktop Java Basics - Anfänger-Themen 18
Dogge URL-Ausgabe/Verarbeitungsproblem mittels einer Applikation Java Basics - Anfänger-Themen 2
H Methoden Array aus Punkten erzeugen, mittels Punkt-Klasse Java Basics - Anfänger-Themen 5
S Dateien mittels Path(s) kopieren und umbenennen. Java Basics - Anfänger-Themen 4
C Dynamische (AJAX) Inhalte einer Webseite mittels Java auslesen Java Basics - Anfänger-Themen 2
N Mittels For Schleife Klasse erzeugen Java Basics - Anfänger-Themen 32
B Abfrage mittels Variable vereinfachen Java Basics - Anfänger-Themen 6
D Klassen Zeichnen von Figuren mittels vorgegebener Klasse Java Basics - Anfänger-Themen 3
P Collatz-Folge mittels indirekter Rekursion Java Basics - Anfänger-Themen 8
J Wurzelberechnung (mittels Newton) Java Basics - Anfänger-Themen 14
B Lotto mittels TreeSet Java Basics - Anfänger-Themen 3
C Vererbung "extends" umgehen mittels Objekterzeugung?! Java Basics - Anfänger-Themen 29
A String mittels RegEx filtern Java Basics - Anfänger-Themen 13
U E-Mails mittels Java senden. Java Basics - Anfänger-Themen 2
J Aufruf von Funktionen in *.jar mittels Eclipse Java Basics - Anfänger-Themen 4
E PHP Datei mittels Java aufrufen? Java Basics - Anfänger-Themen 3
P Collections Queue mittels ArrayList Java Basics - Anfänger-Themen 2
F Substring mittels RegEx ermitteln/ersetzen? Java Basics - Anfänger-Themen 2
R 3 Datumsangaben sortieren mittels Switch Java Basics - Anfänger-Themen 9
J Arraylänge mittels "Array.getLength" bestimmen!? Java Basics - Anfänger-Themen 3
I Ascii Bild mittels Scanner einlesen Java Basics - Anfänger-Themen 9
K OOP Datenkapselung mittels private - length Attribut bei Array Java Basics - Anfänger-Themen 3
M Delphi-DLL mittels JNI aufrufen Java Basics - Anfänger-Themen 11
H .jar Consolenprogramm mittels Doppelklick starten Java Basics - Anfänger-Themen 2
S SQL Anweisung mittels PreparedStatement Java Basics - Anfänger-Themen 15
M Additions mittels Rekursion Java Basics - Anfänger-Themen 15
E Array mittels Methode umgekehrt ausgeben Java Basics - Anfänger-Themen 6
M Auf Java (Desktop) Applikation mittels Webseite zugreifen Java Basics - Anfänger-Themen 6
W Suche nach strings zwischen eckigen Klammern mittels regulärer Ausdrücke Java Basics - Anfänger-Themen 3
Gonzalez Eingabe des Benutzers mittels readLine()-Methode. Klappt in meinem Beispiel nicht! Java Basics - Anfänger-Themen 7
R JTextField mittels JButton in Konsole ausgeben Java Basics - Anfänger-Themen 2
Z Terminkalender mittels Klassen und Feldern Java Basics - Anfänger-Themen 2
M Benutzer löschen mittels Netbeans Java Basics - Anfänger-Themen 4
I (fremde) IP mittels Applet auslesen Java Basics - Anfänger-Themen 6
G Mittels Runtime prüfen ob ein Programm läuft? Java Basics - Anfänger-Themen 18
M MenuShortcut nur mittels Shift+Taste Java Basics - Anfänger-Themen 3
N einbinden von anderen klassen mittels import Java Basics - Anfänger-Themen 2
M Datei speichern mittels InputStream Java Basics - Anfänger-Themen 13
G Navigations mittels Applet Java Basics - Anfänger-Themen 3
M ArrayList sortieren mittels Comparator Java Basics - Anfänger-Themen 10
C Lösung einer Aufgabe mittels Iteration und Rekursion Java Basics - Anfänger-Themen 12
T Zugriff auf umgebendes Objekt mittels Objekt innerer Klasse Java Basics - Anfänger-Themen 2
K Java-Programm mittels Shell-Skript aufrufen Java Basics - Anfänger-Themen 3
L Vorhandene SVG mittels Batik anzeigen Java Basics - Anfänger-Themen 8
K Datum mittels Thread aktualisieren Java Basics - Anfänger-Themen 6
G mittels Parameter Variable identifizieren Java Basics - Anfänger-Themen 6
T Zeitmesser mittels Threads implementieren Java Basics - Anfänger-Themen 16
V Mittels Java Pfeile erstellen Java Basics - Anfänger-Themen 3
J mehrere JCheckBoxen mittels Schleife abfragen Java Basics - Anfänger-Themen 13
T Erstellen eines Steuerprogramms mittels if-anweisungen Java Basics - Anfänger-Themen 10
R Vector nach Teilzeichenkette durchsuchen (mittels regex) Java Basics - Anfänger-Themen 5
G Mittels RegExp "Variablen" extrahieren Java Basics - Anfänger-Themen 4
T Fernsteuerung mittels Sockets (Architektur okay?) Java Basics - Anfänger-Themen 4
H Subtraktion mittels Negierung auf Addition zurückführen Java Basics - Anfänger-Themen 4
G Objekte mittels Schleife anlegen und ansprechen Java Basics - Anfänger-Themen 8
A Programm mittels Konsole öffnen Java Basics - Anfänger-Themen 12
B Querverweise auf eine Hilfedatei mittels ?Button? Java Basics - Anfänger-Themen 4
E Methodenaufruf mittels variable? kA Java Basics - Anfänger-Themen 5
P Collection Vector speichern mittels Serialisierung? Java Basics - Anfänger-Themen 2
J Java long- in int-Variable umwandeln Java Basics - Anfänger-Themen 6
M Long-Typ in String-Änderung führt zu keinem Ergebnis bei großer Zahl Java Basics - Anfänger-Themen 11
MiMa Probleme mit Datentyp long ?? Java Basics - Anfänger-Themen 2
C Long value an Stringbuilder übergeben, equals Methode funktioniert nicht Java Basics - Anfänger-Themen 2
krgewb Long wird gerundet Java Basics - Anfänger-Themen 2
Eule25 Arbeit mit long und int, Error: integer number too large Java Basics - Anfänger-Themen 2
javapingu Hex String zu long Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben