<?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[einen intwert ins equivalente char umwandeln.]]></title><description><![CDATA[<p>Hallo, ich will einen int wert ins char packen. Das geht natürlich nur für 8 bit werte das ist mir bewusst. Ich habe jetzt bereits mehrere ansätze probiert und bin am verzweifeln^^.</p>
<p>Also wenn ich die Zahl kenne ist es einfach.:</p>
<pre><code>char* tester = new char [2];
memset(tester,'\0',2) ;
memset(tester, 49, 1);
</code></pre>
<p>So in char ist nun der wert 40 (was der zahl eins entsprechen würde im ASCII).</p>
<p>Später kann ich dann durchs casten des chars wieder zu 49 kommen.</p>
<p>So nun habe ich aber eine int variable.</p>
<pre><code>int a= 49
char* tester = new char [2];
memset(tester,'\0',2) ;
memset(tester, a, 1);
</code></pre>
<p>Das klappt leider nicht. Es wird nicht der 8 bit zahl 49 bzw ASCII wert 1 weggespeichert.</p>
<p>Hat jemand eine Idee, am besten mit stringstream oder strings, oder halt eben im guten alten C?</p>
<p>Am Ende will ich nur den Int wert als 8 Bit ASCII wert abspeichern, um es später zurückzucasten.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/270293/einen-intwert-ins-equivalente-char-umwandeln</link><generator>RSS for Node</generator><lastBuildDate>Sun, 30 Aug 2026 08:10:05 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/270293.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 09 Jul 2010 16:56:55 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to einen intwert ins equivalente char umwandeln. on Fri, 09 Jul 2010 16:56:55 GMT]]></title><description><![CDATA[<p>Hallo, ich will einen int wert ins char packen. Das geht natürlich nur für 8 bit werte das ist mir bewusst. Ich habe jetzt bereits mehrere ansätze probiert und bin am verzweifeln^^.</p>
<p>Also wenn ich die Zahl kenne ist es einfach.:</p>
<pre><code>char* tester = new char [2];
memset(tester,'\0',2) ;
memset(tester, 49, 1);
</code></pre>
<p>So in char ist nun der wert 40 (was der zahl eins entsprechen würde im ASCII).</p>
<p>Später kann ich dann durchs casten des chars wieder zu 49 kommen.</p>
<p>So nun habe ich aber eine int variable.</p>
<pre><code>int a= 49
char* tester = new char [2];
memset(tester,'\0',2) ;
memset(tester, a, 1);
</code></pre>
<p>Das klappt leider nicht. Es wird nicht der 8 bit zahl 49 bzw ASCII wert 1 weggespeichert.</p>
<p>Hat jemand eine Idee, am besten mit stringstream oder strings, oder halt eben im guten alten C?</p>
<p>Am Ende will ich nur den Int wert als 8 Bit ASCII wert abspeichern, um es später zurückzucasten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1924007</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1924007</guid><dc:creator><![CDATA[greenghecco]]></dc:creator><pubDate>Fri, 09 Jul 2010 16:56:55 GMT</pubDate></item><item><title><![CDATA[Reply to einen intwert ins equivalente char umwandeln. on Fri, 09 Jul 2010 17:07:11 GMT]]></title><description><![CDATA[<p>Du denkst VIEL zu kompliziert.</p>
<pre><code class="language-cpp">int intwert=40;
char charwert = intwert;
</code></pre>
<p>Außerdem gibt es keinen echten Unterschied zwischen char und int. Beides sind einfach nur Zahlen. Die einzigen beiden Unterschiede sind, dass char meistens weniger fassen kann. Das heißt char verhält sich zu int wie int zu long. Der andere Unterschied ist, dass für char eine Überladung der Ausgabefunktionen existiert, welche die Zahlen in einem char bei der Ausgabe als Zeichen ausgibt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1924013</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1924013</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 09 Jul 2010 17:07:11 GMT</pubDate></item><item><title><![CDATA[Reply to einen intwert ins equivalente char umwandeln. on Fri, 09 Jul 2010 17:26:15 GMT]]></title><description><![CDATA[<p>werd ich morgen gleich mal ausprobieren. Ich weiss das es keinen Unterschied gibt. Blos irgendwie werden zb. zweistelligen int nicht in ein char umgewandelt. Sprich int 52 sollte als 4 im char abgespeichert werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1924019</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1924019</guid><dc:creator><![CDATA[greenghecco]]></dc:creator><pubDate>Fri, 09 Jul 2010 17:26:15 GMT</pubDate></item><item><title><![CDATA[Reply to einen intwert ins equivalente char umwandeln. on Fri, 09 Jul 2010 17:38:32 GMT]]></title><description><![CDATA[<p>Nein das hast du falsch verstanden. Nach der <a href="http://www.torsten-horn.de/techdocs/ascii.htm" rel="nofollow">ASCII-Tabelle</a> entspricht 52 dem Zeichen '4'. Bei Ausgaben (z.B. mit cout) werden bei chars nicht die Integralwerte, sondern die entsprechenden Zeichen ausgegeben. Wenn du einem char z.B. 65 zuweist und ihn ausgibst, erhälst du ein A.</p>
<p>Wenn du wirklich von '4' auf 4 kommen willst, musst du einfach '0' abziehen und zurück entsprechend addieren:</p>
<pre><code class="language-cpp">char c = 52; // c == '4'
int i = c - '0'; // i == 4
c = i + '0'; // c == '4' &amp;&amp; c == 52
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1924024</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1924024</guid><dc:creator><![CDATA[ipsec]]></dc:creator><pubDate>Fri, 09 Jul 2010 17:38:32 GMT</pubDate></item><item><title><![CDATA[Reply to einen intwert ins equivalente char umwandeln. on Sat, 10 Jul 2010 15:15:21 GMT]]></title><description><![CDATA[<p>alles klar geht alles. Bin wohl irgendwie durcheinander geraten:). Bin auch auf string und stringstreams umgestiegen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1924298</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1924298</guid><dc:creator><![CDATA[greenghecco]]></dc:creator><pubDate>Sat, 10 Jul 2010 15:15:21 GMT</pubDate></item></channel></rss>