<?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[Frage zu Big&#x2F;Little Endian]]></title><description><![CDATA[<p>DIe Frage könnte jetzt ein wenig doof klingen, aber da ich die Bitoperationen in meinem lehrplan immer vernachlässigt hab, hab ich davon jetzt echt keine Ahnung :)(und leider konnte mir ne google suche auch nicht wirklich helfen).</p>
<p>Nehmen wir mal an, ich hätte folgenden code:</p>
<pre><code class="language-cpp">newSign=startByte;//newSign ist int, der rest char
newSign&lt;&lt;=6;
newSign+=followingByte1;
newSign&lt;&lt;=6;
newSign+=followingByte2;
newSign&lt;&lt;=6;
newSign+=followingByte3;
//newSign soll dann intern so aussehen: 
//|startByte|followingByte1|followingByte2|followingByte3|
</code></pre>
<p>würde ich da andere Zahlenergebnisse erwarten können, je nachdem ob ich Big- oder Little- Endian verwende? Oder ist das egal?</p>
<p>Dieser Codeschnipsel ist ein Ausschnitt aus einem code zur konvertierung von UTF8 nach UTF32 von daher ist das schon recht wichtig <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/154476/frage-zu-big-little-endian</link><generator>RSS for Node</generator><lastBuildDate>Mon, 07 Sep 2026 23:40:40 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/154476.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 27 Jul 2006 14:29:15 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Frage zu Big&#x2F;Little Endian on Thu, 27 Jul 2006 14:30:39 GMT]]></title><description><![CDATA[<p>DIe Frage könnte jetzt ein wenig doof klingen, aber da ich die Bitoperationen in meinem lehrplan immer vernachlässigt hab, hab ich davon jetzt echt keine Ahnung :)(und leider konnte mir ne google suche auch nicht wirklich helfen).</p>
<p>Nehmen wir mal an, ich hätte folgenden code:</p>
<pre><code class="language-cpp">newSign=startByte;//newSign ist int, der rest char
newSign&lt;&lt;=6;
newSign+=followingByte1;
newSign&lt;&lt;=6;
newSign+=followingByte2;
newSign&lt;&lt;=6;
newSign+=followingByte3;
//newSign soll dann intern so aussehen: 
//|startByte|followingByte1|followingByte2|followingByte3|
</code></pre>
<p>würde ich da andere Zahlenergebnisse erwarten können, je nachdem ob ich Big- oder Little- Endian verwende? Oder ist das egal?</p>
<p>Dieser Codeschnipsel ist ein Ausschnitt aus einem code zur konvertierung von UTF8 nach UTF32 von daher ist das schon recht wichtig <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1105442</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1105442</guid><dc:creator><![CDATA[otze]]></dc:creator><pubDate>Thu, 27 Jul 2006 14:30:39 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Big&#x2F;Little Endian on Thu, 27 Jul 2006 14:36:37 GMT]]></title><description><![CDATA[<p>Von UTF-8 gibts keine Big- und Little-Endian Varianten, diese Kodierung ist genau und eindeutig definiert (siehe Wikipedia).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1105445</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1105445</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Thu, 27 Jul 2006 14:36:37 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Big&#x2F;Little Endian on Thu, 27 Jul 2006 14:41:56 GMT]]></title><description><![CDATA[<p>otze schrieb:</p>
<blockquote>
<p>würde ich da andere Zahlenergebnisse erwarten können, je nachdem ob ich Big- oder Little- Endian verwende?</p>
</blockquote>
<p>nein, little-/big-endian ist doch eine frage der objekt-repräsentation, nicht der value-representation. soweit ich es erkenne, hängt das ergebnis hier nur davon ab, ob char vorzeichenbehaftet ist oder nicht, und wenn ja, wie negative integer dargestellt werden (vorausgesetzt, ints sind groß genug, um vorzeichenlose überläufe beim shift auszuschließen).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1105448</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1105448</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Thu, 27 Jul 2006 14:41:56 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Big&#x2F;Little Endian on Thu, 27 Jul 2006 14:44:24 GMT]]></title><description><![CDATA[<p>Das wäre aber recht einfach durch eine Ersetzung des +-Zeichens durch ein |-Zeichen (binäres Oder) behoben:</p>
<pre><code class="language-cpp">newSign |= followingByte1;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1105450</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1105450</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Thu, 27 Jul 2006 14:44:24 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Big&#x2F;Little Endian on Thu, 27 Jul 2006 14:45:41 GMT]]></title><description><![CDATA[<p>.filmor schrieb:</p>
<blockquote>
<p>Das wäre aber recht einfach durch eine Ersetzung des +-Zeichens durch ein |-Zeichen (binäres Oder) behoben:</p>
<pre><code class="language-cpp">newSign |= followingByte1;
</code></pre>
</blockquote>
<p>worauf beziehst du dich?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1105451</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1105451</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Thu, 27 Jul 2006 14:45:41 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Big&#x2F;Little Endian on Thu, 27 Jul 2006 14:50:41 GMT]]></title><description><![CDATA[<p>Darauf, ob wie es mit signed und unsigned (chars|ints) funktioniert. | ist doch für beide gleich, oder?!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1105456</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1105456</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Thu, 27 Jul 2006 14:50:41 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Big&#x2F;Little Endian on Thu, 27 Jul 2006 15:07:16 GMT]]></title><description><![CDATA[<p>.filmor schrieb:</p>
<blockquote>
<p>Darauf, ob wie es mit signed und unsigned (chars|ints) funktioniert. | ist doch für beide gleich, oder?!</p>
</blockquote>
<p>nein. | arbeitet (ebenso wie +-*/&amp;^usw.) nicht mit kleinen integer typen. falls ein operand ein kleinerer integer-typ ist, findet immer zunächst integrale promotion statt - und die ist wert-bewahrend; negative zahlen bleiben negativ. also</p>
<pre><code class="language-cpp">newSign |= followingByte1; // ist identisch zu newSign |= (int)followingByte1;
</code></pre>
<p>selbst wenn newSign unsigned ist, ist entscheidend, ob char ursprünglich vorzeichenbehaftet ist oder nicht (denn das ergebnis ist dann entsprechend 4.7/2 der ursprüngliche wert modulo 2^n)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1105463</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1105463</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Thu, 27 Jul 2006 15:07:16 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Big&#x2F;Little Endian on Thu, 27 Jul 2006 15:18:17 GMT]]></title><description><![CDATA[<p>.filmor schrieb:</p>
<blockquote>
<p>Von UTF-8 gibts keine Big- und Little-Endian Varianten, diese Kodierung ist genau und eindeutig definiert (siehe Wikipedia).</p>
</blockquote>
<p>aber utf32 ist multibyte. und dahin geht die konvertierung.</p>
<p>achja, vergessen: die vorzeichendiskussion tut hier nix zur sache <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /> alles unsigned.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1105479</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1105479</guid><dc:creator><![CDATA[otze]]></dc:creator><pubDate>Thu, 27 Jul 2006 15:18:17 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Big&#x2F;Little Endian on Thu, 27 Jul 2006 15:24:30 GMT]]></title><description><![CDATA[<p>otze schrieb:</p>
<blockquote>
<p>.filmor schrieb:</p>
<blockquote>
<p>Von UTF-8 gibts keine Big- und Little-Endian Varianten, diese Kodierung ist genau und eindeutig definiert (siehe Wikipedia).</p>
</blockquote>
<p>aber utf32 ist multibyte. und dahin geht die konvertierung.</p>
<p>achja, vergessen: die vorzeichendiskussion tut hier nix zur sache <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /> alles unsigned.</p>
</blockquote>
<p>dann ist alles gesagt. der wert newSign ist stets derselbe (vorausgesetzt, int ist groß genug). der inhalt von</p>
<pre><code class="language-cpp">reinterpret_cast&lt;char(&amp;)[sizeof newSign]&gt;(newSign);
</code></pre>
<p>hängt aber nat. von der architektur ab.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1105487</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1105487</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Thu, 27 Jul 2006 15:24:30 GMT</pubDate></item></channel></rss>