die meisten c bibliotheken bieten eine Funktion die sich itoa() nennt (integer to ascii).
Hallo,
ich programmiere gerade kleine Miniroboter und benutze Visual C++ in VS 2005.
Die Roboter brauchen die Zahlen 0-255 als ASCII-Zeichen, d.h. wenn ich ihnen "50" schicken möchte muss ich ihnen "P" schicken.
Wie kann ich mit .NET ein Integer in ein ASCII-Zeichen umwandeln, das ich dann in der Konsole oder über eine serielle Schnittstelle ausgeben kann?
Das muss doch irgendwie mit der Encoding-Klasse funktionieren, ich bekomms aber nicht hin.
die meisten c bibliotheken bieten eine Funktion die sich itoa() nennt (integer to ascii).
http://wsgs.blogspot.com
Wenn deine Freundin denkt,du bist bei deiner Frau,und deine Frau denkt,du bist bei deiner Freundin, dann hast du endlich Zeit ins Labor zu gehen
@ maetsches
Hallo du am einfachsten ist es wenn du den ASCII Wert als HEX Wert abspeicherst und diesen dann ausgibst.
Und noch besser wäre es dann noch das ganze in einer unsigned char Variable zu peichern als in einer int, da diese doppelt so groß ist.
Ist es wirklich nur ein zeichen oder in wirklich kein ein string ?
Die String klasse kann nämlich ein Array of byte zurück geheben.
im Übrigen geben ich michas_rob recht wenn nur die werte 0 - 255 gehen da ist ein int zu groß klar bei den heutige PC macht es nix aus aber ich gehöre hal noch zu den die mal mit C16 angefangen haben wo es nur 16K hauptspeicher gab.
Wenn es wirklich ein int über tragen werden soll da müsste das Funktionieren:
int nWert = 320;
BYTE nChar1 = LOBYTE(nWert);
BYTE nChar2 = HIBYTE(nWert);
oder
BYTE nChar1 = nWert >> 8;
BYTE nChar2 = nWert;
Man müsste das ziel genauer kennen.
itoa() ist leider die Falsche antwort das würde auf dem int mit dem wert 50
drei Bytes machen <35><30><00>. das nur so am rande
Gruß
P: Meine Tochter (06.11.07) und https://www.carnine.de
M: Träumen hat nix mit Dummheit zu tun es ist die Möglichkeit neues zu erdenken
Lesezeichen