| Code Kitchen Allgemeines Coder-Forum rund um das Programmieren eigenständiger, ausführbarer Programme. |
Diskussion: C++ Hexadezimal-Problem im Forum Code Kitchen, in der Kategorie Software Home; Anzeige Hi, Ich habe folgendes Problem wenn ich den Code eingebe: #include <stdio.h> #include <stdlib.h> int main() { int i ...
![]() |
| | #1 (permalink) |
| Registriert seit: 26.12.10 ![]() Likes: 0 | Anzeige Hi, Ich habe folgendes Problem wenn ich den Code eingebe: #include <stdio.h> #include <stdlib.h> int main() { int i = 10; printf("Hexadezimal i: %x\n", i); system("Pause"); } gibt mir das Programm den Wert "a" aus. Dabei müsste das Programm den Wert "0xA" ausgeben. Wieso funktioniert das nicht?? Hilfe wäre echt gut (:
__________________ Jedes Programm, in das sich ein Fehler einschleichen kann, wird auch einen enthalten. |
| | |
| | #2 (permalink) |
| Registriert seit: 09.12.09 ![]() Likes: 0 | Es gibt a aus, weil das der hexadezimale Wert von 10 ist. Das Präfix 0x wird nur verwendet, damit der Compiler eine Hexadezimalzahl erkennt und hat überhaupt nichts mit dem hexadezimalen Zahlensystem zu tun. Wenn du das 0x davor stehen haben willst, musst du es selber in die printf-Anweisung schreiben. mfg Christian PS: return 0;
__________________ B4 09 BA 08 01 CD 21 C3 48 61 6C 6C 6F 20 57 65 6C 74 21 24 Geändert von Thunder11 (29.12.10 um 14:49 Uhr) |
| | |
| HaBOT | - Anzeige - |
| |
| | #3 (permalink) |
| Themenstarter Registriert seit: 26.12.10 ![]() Likes: 0 | Okay, danke dir (: Doch warum steht bei den meisten programmen diese 0x dabei?? Und wozu wird es benötigt? Ich weiß gehört nicht ganz zum thema. ![]() Aber es würde mich trotzdem mal Interessieren. mfg. JeyFox
__________________ Jedes Programm, in das sich ein Fehler einschleichen kann, wird auch einen enthalten. |
| | |
| | #4 (permalink) |
| Registriert seit: 03.05.07 ![]() ![]() Likes: 50 | Als Hinweis, dass die nachfolgende Zahl hexadezimal zu interpretieren ist. 50 würde zum Beispiel jeder als die dezimale Zahl 50 interpretieren, könnte aber genauso gut auch 0x50 = 80 sein. Ähnlich ist es bei binären Zahlen, dort verwendet man 0b: 0b1001 mfg benediktibk |
| | |
| | #5 (permalink) |
| Der Präfix "0x" vor einer Zahl ist nur ein Hinweis darauf, dass es sich um eine Zahl im hexadezimalen Format (Basis 16) handelt. Viele Programme verwenden das bei ihrer Ausgabe, um dies dem Leser klar zu machen. Genauso ist die Notation mit Präfix "0" verbreitet, um anzudeuten, dass es sich um eine Zahl im oktalen Zahlensystem (also zur Basis handelt.Wenn du im Programmcode eine Zahl im hexadezimalen Format angeben willst, musst du das "0x" davorschreiben, damit der Compiler das kapiert, wie Thunder11 schon gesagt hat.
__________________ Wenn keiner zuschaut, teile ich heimlich durch Null! Meine Homepage: Planet Metax | meine Bilder: DeviantArt | Twitter | |
| | |
| | #6 (permalink) | |
| Member of Honour ![]() | Zitat:
Code: Prefix Zahlensystem Basis Werte Beispiele --------------------------------------------------------------- 0b Binär-/Dual-System 2 0..1 0b01100101 0 Oktal-System 8 0..7 0755 (kein) Dezimal-System 10 0..9 23 0x Hexadezimal-System 16 0..9, A..F 0x032A | |
| | |
| | #7 (permalink) |
| Registriert seit: 06.06.09 ![]() Likes: 6 | Das 0x manuell davor zu schreiben ist die eine Möglichkeit. Man kann aber auch %#x als Formatstring benutzen. http://www.cplusplus.com/reference/c...cstdio/printf/ |
| | |
| | #8 (permalink) |
| Member of Honour ![]() Registriert seit: 02.04.05 ![]() ![]() ![]() Likes: 76 | Code: printf("Hexadezimal i: 0x%X\n", i); |
| | |
| | #9 (permalink) | |
| Registriert seit: 14.12.10 ![]() Likes: 0 | Zitat:
EDIT 1: C++ könnte so aussehen: Code: #include <iostream>
using namespace std;
int main()
{
int d = 1324;
cout << "0x" << hex << d << endl;
return 0;
} Geändert von MemoryMatt (29.12.10 um 15:28 Uhr) | |
| | |
| | #10 (permalink) |
| Themenstarter Registriert seit: 26.12.10 ![]() Likes: 0 | Ja eigentlich sollte es C++ sein ![]() Aber wozu dient der Befehl using namespace std ?? mfg. JeyFox
__________________ Jedes Programm, in das sich ein Fehler einschleichen kann, wird auch einen enthalten. |
| | |
| | #11 (permalink) |
| Member of Honour ![]() | Betonung liegt auf SOLLTE... Was du schreibst, ist jedoch eigentlich ehr C... der Sinn erschließt sich von ganz allein, wenn man mal ein vernünftiges C++-Buch oder -Tutorial zur Hand nimmt - mit etwas Glück steht es da schon bei der Erklärung des Hello-World-Beispiels http://de.wikipedia.org/wiki/Namespace ich weiß nicht, wo du deine Beispiel-Codes her hast, aber es scheint mir so, als wolltest du C++ lernen, schaust dir aber C-Tutorials an oder so... Daher: werde dir vor deinen Programmier-Versuchen erst einmal klar, mit welcher Sprache genau du anfangen möchtest. |
| | |
| | #12 (permalink) |
| Themenstarter Registriert seit: 26.12.10 ![]() Likes: 0 | hier ist die seite wo ich die Tutorials her habe http://www.tutorials.at/c/03-dateneingabe-ausgabe.html
__________________ Jedes Programm, in das sich ein Fehler einschleichen kann, wird auch einen enthalten. |
| | |
| | #13 (permalink) |
| Member of Honour ![]() | Okay. Auch wenn dort als Überschrift "C / C++" steht, so beinhaltet das Tutorial, soweit ich das überflogen habe, nur C-Code. (welcher sich mit 'nem C++-Compiler zwar genauso compilieren lässt, da C++ größtenteils abwärtskompatibel zu C ist - aber das, was du in dem Tutorial lernst, ist auf jeden Fall reines C) Also lernst du wohl doch erstmal C und Dinge wie Namespaces, Objekt-Orientierung und was es noch alles schönes in C++ dann gibt, kommen dann irgendwann später mal... |
| | |
| | #14 (permalink) |
| printf() ist aber eine Funktion die ich nicht missen will^^. cout sux't einfach - Also printf. Oder gibt es eine C++-Alternative für printf()?
__________________ Be the source always with you. | |
| | |
| | #15 (permalink) | |
| Themenstarter Registriert seit: 26.12.10 ![]() Likes: 0 | Zitat:
"cout" Hier ein Beispiel Code: #Include <iostream>
unsing namespace std;
int main()
{
cout << " Text..." << endl;
return 0;
}
__________________ Jedes Programm, in das sich ein Fehler einschleichen kann, wird auch einen enthalten. | |
| | |
![]() |
| Stichworte |
| hexadezimal, problem |
| - Anzeige - | |
| |
| Themen-Optionen | |
| Ansicht | |
| |