|
|
Nachkommastellen als Binärzahl |
|
Suchender |

Forum-Anfänger
|
 |
Beiträge: 19
|
 |
|
 |
Anmeldedatum: 13.04.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 21.04.2013, 16:51
Titel:
|
 |
Ich habe ein Problem, Nachkommastellen einer Binärzahl anzugeben.
Folgendes:
Mache ich dies, gibt er mir eine 48.0000... aus (ohne '%30.20f' gibt er mir eine 0, also gerundet richtig). In Wirklichkeit ist es genauer aber 0,0011001100110...
Gebe ich im Command Window aber nur dec2bin(0.2) ein, gibt er mir eine 0 aus, was ja nur näherungsweise richtig ist. Ich möchte aber mehr Nachkommastellen haben. Bestimmt liegt es an den '%30.20f', aber ich weiß nicht, wie ich mit help... in Matlab oder überhaupt im Internet danach suchen soll, weil ich nicht weiß, wie das heißt. Ich möchte dec2bin(0.2) auf viele Stellen genau haben.
Wer weiß weiter?
|
|
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 21.04.2013, 17:45
Titel:
|
 |
Hallo,
Zitat: |
Bestimmt liegt es an den '%30.20f' |
Nein, liegt es nicht. s ist ein einziges Zeichen, wie soll daraus durch fprintf mehr werden?
Aus der Dokumentation von dec2bin:
Zitat: |
str = dec2bin(d) binary representation of d as a string. d must be a nonnegative integer smaller than 2^52. |
Du kannst deine Zahlen höchstens mit 2^n multiplizieren, sie dann umwandeln, und dann den Dezimalpunkt geeignet verschieben. Vor allem aber musst du die Dezimaldarstellung auch als String (%s oder %c) anzeigen lassen.
Grüße,
Harald
P.S.: Wenn deine Frage nichts mit dem ursprünglichen Thema zu tun hat, mach doch bitte einen neuen Thread auf.
|
|
|
Suchender |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 19
|
 |
|
 |
Anmeldedatum: 13.04.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 21.04.2013, 18:54
Titel:
|
 |
Sorry, ich dachte, es wäre besser, wenn ich meine Frage in bestehende Thread stelle, wenn der Thread-Titel passt. Nächstes Mal denke ich daran.
Also, deinem Vorschlag folgend hab eich nun:
Er gibt mir aber eine 0 aus (wenn ich x=0.2 einsetze). Wie mache ich das nun?
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 21.04.2013, 19:30
Titel:
|
 |
Hallo,
ich dachte an etwas anderes:
Ob das nun für alle Zahlen korrekt funktioniert, musst du noch nachprüfen.
Grüße,
Harald
|
|
|
Suchender |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 19
|
 |
|
 |
Anmeldedatum: 13.04.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 21.04.2013, 21:56
Titel:
|
 |
Eigentlich wollte ich damit noch weiterrechnen, aber bei Multiplikation oder Addition entsteht dann ja ein Vektor.
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 21.04.2013, 22:13
Titel:
|
 |
Hallo,
es ist vielleicht noch nicht klar geworden, aber die Binärrepräsentation ist ein String aus Nullen und Einsen. Damit lässt sich schlecht weiterrechnen.
Wenn, dann müsstest du die Binärarithmetik quasi selbst implementieren, aber da sehe ich nicht den Sinn dahinter. Dezimalzahlen sind doch nun nicht sooo schlecht, oder? ;)
Grüße,
Harald
|
|
|
Suchender |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 19
|
 |
|
 |
Anmeldedatum: 13.04.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 21.04.2013, 22:23
Titel:
|
 |
Um konkret zu werden: Ich möchte die Fließkommadarstellung einer Zahl haben. Und ich dachte mir, dass ich das Komma einfach verschiebe. Aber so einfach sehe ich da nicht, wie ich das auf die Schnelle machen könnte (bei einer beliebigen Zahl).
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 21.04.2013, 23:29
Titel:
|
 |
Hallo,
was verstehst du unter der Fließkommadarstellung, und was haben Binärzahlen damit zu tun?
Willst du etwa da?
Grüße,
Harald
|
|
|
Gesplittet: 22.04.2013, 02:03 Uhr von Jan S Von Beitrag Nachkommastellen Matlab aus dem Forum Programmierung |
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 22.04.2013, 02:04
Titel:
|
 |
Hallo Suchender,
Bitte hänge eine neue Frage nicht an einen existierenden Thread an. Andernfalls verwirrt es die Leser, weil nicht mehr klar ist, zu welcher Frage die Antworten gehören. Danke!
Gruß, Jan
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|