<?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[problem mit BYTE]]></title><description><![CDATA[<pre><code class="language-cpp">typedef unsigned __int8 BYTE;

BYTE niederwertigerTeil ( BYTE input )
{
  return ( input &amp; 0x0f );
}

...

cout &lt;&lt; niederwertigerTeil ( 0xee ) &lt;&lt; endl;
</code></pre>
<p>[/cpp]</p>
<p>Sollte 0x0e ergeben, ich kriege aber in der Konsole (Windows) eine Note (Symbol) angezeigt. Woran liegt das?</p>
<p>Wenn ich</p>
<pre><code class="language-cpp">cout &lt;&lt; ( 0xee &amp; 0x0f ) &lt;&lt; endl;
</code></pre>
<p>schreibe, dann wird das richtige Ergebnis : 14 angezeigt.</p>
<p>Ich bin mir sicher ihr könnt helfen, danke!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/144029/problem-mit-byte</link><generator>RSS for Node</generator><lastBuildDate>Wed, 02 Sep 2026 13:11:20 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/144029.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 13 Apr 2006 19:21:52 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to problem mit BYTE on Thu, 13 Apr 2006 19:21:52 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">typedef unsigned __int8 BYTE;

BYTE niederwertigerTeil ( BYTE input )
{
  return ( input &amp; 0x0f );
}

...

cout &lt;&lt; niederwertigerTeil ( 0xee ) &lt;&lt; endl;
</code></pre>
<p>[/cpp]</p>
<p>Sollte 0x0e ergeben, ich kriege aber in der Konsole (Windows) eine Note (Symbol) angezeigt. Woran liegt das?</p>
<p>Wenn ich</p>
<pre><code class="language-cpp">cout &lt;&lt; ( 0xee &amp; 0x0f ) &lt;&lt; endl;
</code></pre>
<p>schreibe, dann wird das richtige Ergebnis : 14 angezeigt.</p>
<p>Ich bin mir sicher ihr könnt helfen, danke!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1037114</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1037114</guid><dc:creator><![CDATA[NULL_HIRN]]></dc:creator><pubDate>Thu, 13 Apr 2006 19:21:52 GMT</pubDate></item><item><title><![CDATA[Reply to problem mit BYTE on Thu, 13 Apr 2006 19:51:07 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">cout &lt;&lt; static_cast&lt;int&gt;(niederwertigerTeil ( 0xee )) &lt;&lt; endl;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1037133</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1037133</guid><dc:creator><![CDATA[Neku]]></dc:creator><pubDate>Thu, 13 Apr 2006 19:51:07 GMT</pubDate></item><item><title><![CDATA[Reply to problem mit BYTE on Thu, 13 Apr 2006 19:52:00 GMT]]></title><description><![CDATA[<p>Das liegt daran, dass Du einmal das Zeichen mit dem ASCII-Code 0x0e ausgibst und einmal eine Integer-Variable 0x0e. Korrigiere Deinen Code zum Beispiel zu</p>
<pre><code class="language-cpp">cout &lt;&lt; unsigend( niederwertigerTeil ( 0xee ) ) &lt;&lt; endl;
</code></pre>
<p>oder schau Dir mal den <em>BytePrinter</em> in meinem Posting <a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-143358.html" rel="nofollow">in diesen Thread</a> an.</p>
<p>Gruß<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1037138</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1037138</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Thu, 13 Apr 2006 19:52:00 GMT</pubDate></item><item><title><![CDATA[Reply to problem mit BYTE on Thu, 13 Apr 2006 20:05:22 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/7393">@Werner</a> Salomon</p>
<p>ich verstehe den Code leider nicht. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/11548">@Neku</a></p>
<p>static_cast&lt;int&gt;() funktioniert zwar, aber warum nicht static_cast&lt;unsigned __int8&gt;?</p>
<p>Bitte habt Verständnis für meine dämlichen Fragen, aber ich bin Anfänger.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1037146</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1037146</guid><dc:creator><![CDATA[NULL_HIRN]]></dc:creator><pubDate>Thu, 13 Apr 2006 20:05:22 GMT</pubDate></item><item><title><![CDATA[Reply to problem mit BYTE on Thu, 13 Apr 2006 20:17:31 GMT]]></title><description><![CDATA[<p>NULL_HIRN schrieb:</p>
<blockquote>
<p>static_cast&lt;int&gt;() funktioniert zwar, aber warum nicht static_cast&lt;unsigned __int8&gt;?</p>
</blockquote>
<p>nun, deshalb:</p>
<p>Werner Salomon schrieb:</p>
<blockquote>
<p>Das liegt daran, dass Du einmal das Zeichen mit dem ASCII-Code 0x0e ausgibst und einmal eine Integer-Variable 0x0e.</p>
</blockquote>
<p>Nochmal ausführlich: Die Klasse std::ostream - und das <em>cout</em> ist ein Objekt eben dieser Klasse - stellt mehr als einen sogenannten Streaming-Operator zur Verfügung. Nämlich u.a.</p>
<pre><code class="language-cpp">ostream&amp; operator&lt;&lt;( char x );
// und 
ostream&amp; operator&lt;&lt;( int x );
</code></pre>
<p>beide machen was anderes.</p>
<p>Dazu muss man zunächst wissen dass sich in C++ im Gegensatz zu C Funktionen auch unterscheiden, wenn sie zwar den gleichen Namen aber unterschiedliche Signaturen haben. Zum Beispiel ist</p>
<pre><code class="language-cpp">void func( int x );
// was anderes als
void func( unsigned x );
</code></pre>
<p>deshab kann der Compiler auch die beiden Streaming-Operatoren unterscheiden. Bei</p>
<pre><code class="language-cpp">unsigend char x = 0x0e;
cout &lt;&lt; x;
</code></pre>
<p>passiert also was anderes als bei</p>
<pre><code class="language-cpp">int x = 0x0e;
cout &lt;&lt; x;
</code></pre>
<p>Im ersten Fall wird der Wert x als Zeichen interpretiert - z.B. ein 0x31 wäre eine '1' - und im zweiten Fall wird x als eine Zahl interpretiert - dann wäre 0x31 eine 49.</p>
<p>Gruß<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1037151</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1037151</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Thu, 13 Apr 2006 20:17:31 GMT</pubDate></item><item><title><![CDATA[Reply to problem mit BYTE on Fri, 14 Apr 2006 08:45:43 GMT]]></title><description><![CDATA[<p>Ich hab's mal durchgetestet und auf relativ gut verstanden.<br />
Danke dir. :))</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1037290</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1037290</guid><dc:creator><![CDATA[NULL_HIRN]]></dc:creator><pubDate>Fri, 14 Apr 2006 08:45:43 GMT</pubDate></item></channel></rss>