Delphi-PRAXiS
Seite 1 von 4  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi 1+1=0 definieren? (https://www.delphipraxis.net/113438-1-1%3D0-definieren.html)

Ari 7. Mai 2008 20:58


1+1=0 definieren?
 
Hallo,

habe ein mittelschweres Problem. Möchte gerne ein Gleichungssystem mit sehr vielen Gleichungen und Unbekannten lösen lassen, verwende dazu allerdings den endlichen Körper F2, also nur die Elemente 0 und 1. Daher ist dort auch 1+1=0 was die Lösung im Vergleich zum Variablentyp integer mit 1+2=2 beeinflusst.
Mit boolean komme ich auch nicht weiter (na ja, richtig+richtig=falsch? o.O)..

Könntet ihr mir bitte helfen, wie ich so ein Gleichungssystem überhaupt realisieren kann?

Liebe Grüße,
Ariane

mkinzler 7. Mai 2008 21:01

Re: 1+1=0 definieren?
 
Nimm statt + AND

Neutral General 7. Mai 2008 21:03

Re: 1+1=0 definieren?
 
Zitat:

Zitat von mkinzler
Nimm statt + AND

Und was ist mit den Überträgen?

Dax 7. Mai 2008 21:05

Re: 1+1=0 definieren?
 
Zitat:

Zitat von mkinzler
Nimm statt + AND

Ährm.
0+0=0
0+1=1+0=1
1+1=0

Das ist XOR, nicht AND :zwinker:

s.h.a.r.k 7. Mai 2008 21:12

Re: 1+1=0 definieren?
 
Zitat:

Zitat von Neutral General
Zitat:

Zitat von mkinzler
Nimm statt + AND

Und was ist mit den Überträgen?

wenn man das XOR, korrekterweise, nehmen würde, dann würde da wohl kein rest herauskommen. den müsstest dann eben selbst berechnen:

Code:
sum  = x1 XOR x2
carry = x1 AND x2
Willst du die beiden Werte getrennt von einander heraus bekommen oder beide gleichzeitig, d.h. 1 + 1 = 10?

christian_r 7. Mai 2008 21:13

Re: 1+1=0 definieren?
 
Vllt. hilft das weiter ... http://www.delphipraxis.net/internal...ct.php?t=80704 Dann müsstest Du keine XOR-Funktion implementieren, sondern addierst trozdem dezimale Werte und lässt Dir das Ganze binär ausgeben. Aus dem binären Wert kannst dann Überträge rausholen, soviel wie Du willst. ;)

Also:
Code:
1 + 1 = 2 dez.
      = 10 bin.
      = 0 bin. übertrag 1

Ari 7. Mai 2008 21:30

Re: 1+1=0 definieren?
 
Hey,

erstmal ein großes Dankeschön für die vielen Antworten!

Eine 10 möchte ich eigentlich nicht ausgeben, nur 0 und 1 brauch ich. Die Umwandlung habe ich jetzt hinbekommen,
Delphi-Quellcode:
Label1.Caption:=IntToBin(1+1,1);
liefert das Ergebnis 0 :)

Tut mir leid, aber ich krieg das jetzt nicht weiter realisiert: ganz eigentlich wollte ich ein Gleichungssystem binär lösen lassen mit sehr großem Rang. Normale Gauß-Algorithmen habe ich gefunden, IntToBin dort einzubauen ist mir nun nicht ganz gelungen.
Es funktioniert nichtmal

Delphi-Quellcode:
a:=IntToBin(arr[1,1,1]+arr[1,1,2]+arr[1,1,3]+arr[1,1,4],1);
wobei arr ein array ist; a und arr sind beide als integer deklariert. Fehlermeldung: Incompatible Types String and Integer - und jetzt weiß ich nicht, wieso. Könnt ihr mir da bitte nochmal helfen? :gruebel:

himitsu 7. Mai 2008 21:31

Re: 1+1=0 definieren?
 
christian_r...

wenn schon, dann richtig binär :stupid:

Delphi-Quellcode:
var x1, x2, sum: Integer;
sum := (x1 + x2) and 1;
mul := (x1 * x2) and 1;
sub := (x1 - x2) and 1;

// oder doch via Boolean
var x1, x2, sum: Boolean;
sum := x1 xor x2; {sum := x1 + x2}

christian_r 7. Mai 2008 21:33

Re: 1+1=0 definieren?
 
@Ari: a muss ebenfalls ein Integer sein, da IntToBin einen String zurückgibt.

3_of_8 7. Mai 2008 21:53

Re: 1+1=0 definieren?
 
Ist das ein Restklassenring? Wenn ja, warum nicht einfach (operation) mod n?

Also bei einer Addition und |M|=2 praktisch (a+b) mod 2. Das hat den Vorteil, dass es man es leicht verallgemeinern kann.


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:54 Uhr.
Seite 1 von 4  1 23     Letzte »    

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz