Autor Thema: Betragsbildung  (Gelesen 3221 mal)

Offline Mr. Spok

  • Sr. Member
  • ****
  • Beiträge: 652
Betragsbildung
« am: Februar 13, 2008, 09:02:11 Vormittag »
Hallo liebe Forum-User,

ich suche eine Möglichkeit mit einfachen Mittelnden Betrag einer Zahl zu ermitteln.
Zuerst wollte ich eigentlich das "Vorzeichenbit" manipulieren, habe dann aber gemerkt das die Easy negative Zahlen ganz anders darstellt, z.B. entspricht der Wert -1 binär = 1111 1111 1111 1111 1111 1111 1111 1111
also kein Vorzeichenbit.

Wer kan helfen??

P.S. Da wäre gleich etwas für die Verbesserungsvorschläge, einen Baustein für die Betragsbildung oder die Erweiterung eines vorhandenen Bausteins für diese Rechenoperation.

mfG Jan
Für die Richtigkeit und Funktionalität der hier veröffentlichten Beispiele wird keine Gewähr übernommen.
Für Schäden, die durch Verwendung der Beispiele entstehen, wird keine Haftung übernommen.

Offline Fricke

  • Jr. Member
  • **
  • Beiträge: 36
Re: Betragsbildung
« Antwort #1 am: Februar 13, 2008, 11:20:06 Vormittag »
Hallo Mr. Spok,

folgende Lösung ist möglich.

a) Die pos. Zahl normal verarbeiten.
b) Über CP-Vergleicher abfragen ob die Zahl negativ ist
     [ I1 < Nu 0 ]
c) Wenn  ja, dann BV-Boolsche Verknüpfung mit NOT und die negative Zahl
    an I1 einlesen. Am Ausgang QV des Bausteins steht der Betrag der
    negativen Zahl.


Beispiel:

Wert
-10 dez. = 1000 0000  0000 0000  0000 0000  0000 1010 bin im MD


BV-Baustein

I1            = 1000 0000  0000 0000  0000 0000  0000 1010 bin
NOT
___________________________________________________
QV           = 0000 0000  0000 0000  0000 0000  0000 1010 bin   = +10 dez.



Mfg
Heinrich-Wilhelm Fricke





Offline KurtH

  • Full Member
  • ***
  • Beiträge: 189
  • I love easy-Forum.net
Re: Betragsbildung
« Antwort #2 am: Februar 13, 2008, 13:39:25 Nachmittag »
Hallo Ihr Zwei

ich habe ein kleines Musterprogr. angefügt das den Wunsch von Jan hoffe ich erfüllt.
MfG Kurt
Für die Richtigkeit der Beispiele wird keine Gewähr übernommen.
Für die Schäden, die durch Verwendung der Beispiele entstehen, wird keine Haftung übernommen.

Offline Mr. Spok

  • Sr. Member
  • ****
  • Beiträge: 652
Re: Betragsbildung
« Antwort #3 am: Februar 13, 2008, 19:17:33 Nachmittag »
Hallo auch Ihr Zwei,

@Kurt

Dein Programm funktioniert in der Simulation, danke. Ich dachte nur das geht einfacher >:( :(  z.B. mit dem BV-Baustein.

@Heinrich - Wilhelm

-10 wird in der Easy als  (Bit32...Bit1) 1111 1111 1111 1111 1111 1111 1111 0101 dargestellt. Da gibts kein Vorzeichenbit. Ich muß jetzt die pos. Zahl direkt auswerten und dann bei einer neg. Zahl mit BV im NOT-Modus arbeiten und dann noch mit AR + 1 addieren, und ein paar Sprünge im Programm  ;) , dann funktioniert es auch so.

mfG Jan
Für die Richtigkeit und Funktionalität der hier veröffentlichten Beispiele wird keine Gewähr übernommen.
Für Schäden, die durch Verwendung der Beispiele entstehen, wird keine Haftung übernommen.

Offline Mr. Spok

  • Sr. Member
  • ****
  • Beiträge: 652
Re: Betragsbildung
« Antwort #4 am: Februar 14, 2008, 14:56:04 Nachmittag »
Hallo heho,

danke für die Überarbeitung, habe den BV im Bausteinplan noch gelöscht, da er nicht benötigt wird.


mfG Jan
Für die Richtigkeit und Funktionalität der hier veröffentlichten Beispiele wird keine Gewähr übernommen.
Für Schäden, die durch Verwendung der Beispiele entstehen, wird keine Haftung übernommen.

Juergen.J

  • Gast
Re: Betragsbildung
« Antwort #5 am: Februar 14, 2008, 23:09:46 Nachmittag »
Hallo Jan,
schau dir mal diesen Link an. Ich denke dort ist genau das beschrieben wie Easy-intern das ganze verarbeitet wird. Wie in deinem ersten Beitrag vermutet gibt es doch ein Vorzeichenbit, da in den Werteeingaben (aus z.B. LS Baustein) ein Wert von -2147483648 bis +2147483648 eingegeben werden kann. 232 ist jedoch 4,295x109, also genau das doppelte. Vielleicht hilft dir dies ja doch weiter um einfacher umzuwandeln zu können.
Gruss
Jürgen