<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[binare Zeichen in Zahlen umwandeln]]></title><description><![CDATA[<p>Hi!<br />
Ich möchte eine binäre datei auslesen und schauen, welche Zahlen da drinnen stehen. Es sollten double-Werte sein.<br />
Die routine, die ich dazugeschrieben habe, sieht folgendermaßen aus:</p>
<pre><code>void readBinaryData (string filename)
{
 char arr2[8];
 char data[8];

ifstream fbin;
fbin.open(filename.c_str(),ios::in|ios::binary);
if(!fbin) cout &lt;&lt; &quot;could not open filename&quot; &lt;&lt; endl;

 for(;!fbin.eof();)
	{
	 fbin.read(data,8);

	 for(int m=0;m&lt;8;m++) arr2[m]=data[7-m];

	 double* frichtig=reinterpret_cast&lt;double*&gt;(arr2);
	 //cout&lt;&lt;&quot;geschriebenes: &quot;&lt;&lt;*frichtig&lt;&lt;endl;
	 cout &lt;&lt; frichtig &lt;&lt; endl;
	}

fbin.close();
}
</code></pre>
<p>Ich habe eine ähnliche Routine schon einmal erfolgreich implementiert, die hat damals float-Zahlen ausgelesen. Jetzt allerdings bekomme ich den Output (wegen cout &lt;&lt; ... )<br />
0012FE00<br />
0012FE00...</p>
<p>u.s.w solange die schleife läuft. Das sind 1) immer dieselben Zahlen und 2) nicht einmal Zahlen wie ich sie eigentlich gerne hätte.<br />
Weiß vielleicht jemand, was hier schief laufen könnte?</p>
<p>Thx,<br />
Iso</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/225329/binare-zeichen-in-zahlen-umwandeln</link><generator>RSS for Node</generator><lastBuildDate>Thu, 01 Oct 2026 14:28:23 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/225329.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 22 Oct 2008 09:45:33 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to binare Zeichen in Zahlen umwandeln on Wed, 22 Oct 2008 09:45:33 GMT]]></title><description><![CDATA[<p>Hi!<br />
Ich möchte eine binäre datei auslesen und schauen, welche Zahlen da drinnen stehen. Es sollten double-Werte sein.<br />
Die routine, die ich dazugeschrieben habe, sieht folgendermaßen aus:</p>
<pre><code>void readBinaryData (string filename)
{
 char arr2[8];
 char data[8];

ifstream fbin;
fbin.open(filename.c_str(),ios::in|ios::binary);
if(!fbin) cout &lt;&lt; &quot;could not open filename&quot; &lt;&lt; endl;

 for(;!fbin.eof();)
	{
	 fbin.read(data,8);

	 for(int m=0;m&lt;8;m++) arr2[m]=data[7-m];

	 double* frichtig=reinterpret_cast&lt;double*&gt;(arr2);
	 //cout&lt;&lt;&quot;geschriebenes: &quot;&lt;&lt;*frichtig&lt;&lt;endl;
	 cout &lt;&lt; frichtig &lt;&lt; endl;
	}

fbin.close();
}
</code></pre>
<p>Ich habe eine ähnliche Routine schon einmal erfolgreich implementiert, die hat damals float-Zahlen ausgelesen. Jetzt allerdings bekomme ich den Output (wegen cout &lt;&lt; ... )<br />
0012FE00<br />
0012FE00...</p>
<p>u.s.w solange die schleife läuft. Das sind 1) immer dieselben Zahlen und 2) nicht einmal Zahlen wie ich sie eigentlich gerne hätte.<br />
Weiß vielleicht jemand, was hier schief laufen könnte?</p>
<p>Thx,<br />
Iso</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1602715</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1602715</guid><dc:creator><![CDATA[Isomorphismus]]></dc:creator><pubDate>Wed, 22 Oct 2008 09:45:33 GMT</pubDate></item><item><title><![CDATA[Reply to binare Zeichen in Zahlen umwandeln on Wed, 22 Oct 2008 09:50:26 GMT]]></title><description><![CDATA[<p>Wäre natürlich schon sinnvoll zu dereferenzieren, also statt <code>cout &lt;&lt; frichtig &lt;&lt; endl;</code> , das hier <code>cout &lt;&lt; *frichtig &lt;&lt; endl;</code> .</p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1602718</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1602718</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Wed, 22 Oct 2008 09:50:26 GMT</pubDate></item></channel></rss>