Negative Zahlen
-
Ich verwende die Funktion itoa(test1,test2,10) um einen Integer Wert umzuwandeln, damit ich ihn in eine ListView anzeigen kann!
Das Problem welches bei mir auftrit ist, dass Zahlen über 127 negativ angezeigt werden!
Also wenn die Zahl über 127 und kleiner 256 ist wird der Wert negativ angezeigt!
Weiß jemand warum?test1 ist Integer!
test2 ist ein CharArray!Danke!
-
die funktion itoa sagt mir grade mal nichts aber pack mal "unsigned" vor char davor, weil sonst stellt der zahlenraum 128-255 die negativen zahlen -127 bis -1 da.
-
Informieren Sie sich doch bitte über das sog. "Two's complement", zu Deutsch Zweierkomplement genannt. Ich halte es für Fehl am Platze Ihnen in diesem Forum nun solch einen grundlegenden Begriff zu erläutern, dafür ist das WinAPI Forum mitnichten der rechte Platz. Sie sollten sich eingehender mit den Grundlagen der C Programmierung befasse, wenn Ihnen solch fundamentalen Kenntnisse noch fehlen.
Sintemalen die Funktion itoa nicht zum offiziellen Standard der Programmiersprache C gehört, empfehle ich Ihnen stattdessen die Verwendung der Funktion sprintf, bzw. eine Ihrer sicheren Varianten, welche Sie in der MSDN ausführlich beschrieben werden finden.
-
Habe es mit dem unsigned bereits versucht, jedoch erfolglos..
-
@ Walther: Habe es gerade auch mit der sprintf Funktion verusucht!jedohc liefert mir diese Funktion das gleiche Ergebnis(negative Zahlen) wie bereits die itoa() Funktion!
MFG
-
Ist eine C-Frage, keine zur WinApi. Lese in der Hilfe des Compilers, welcher Integer-Typ welchen Zahlenbereich hat.
-
das ist ein ganz gewöhnlicher überlauf. kommst du über den zahlenbereich fängt der an von hinten zu zählen.
unsigned char 0 - 255
so was muss man abfangen (if).
das sind aber, wie schon gesagt, grundkenntnisse.
wie man ohne diese kenntnisse schon mit der winapi rumspielt ist allerdings unverständlich.
-
Und wie genau mienst du das mit dem abfangen??
-
int test1;
char test2[3],
Test1=140;
itoa(test1,test2,10);
liefert test2 als String '140' zurück, nichts anderes! Wo ist das Problem?
-
Würde sich wohl ein Moderator dazu herablassen, diesem Elend ein Ende zu setzen? Wie weit möchten wir in diesem Forum noch sinken?
-
@Inf. Student
Hilf ihm lieber anstatt blöde Kommentare abzugeben!!
-
Versuch die Zahl nach der Umwanlung in einer ListView oder in einem Label anzuzeigen!
Da erscheint bei mir eine negative Zahl!
MFG
-
Pingo schrieb:
@Inf. Student
Hilf ihm lieber anstatt blöde Kommentare abzugeben!!
Hab ich vor 3 Tagen schon und der Thread ist immer noch da. Also hilf dir selbst und halt die Klappe.
-
Mich interessiert es nicht..anscheinden hast du keine ahnung..kannst nur blöde kommentare abgeben...
-
Inf.Student schrieb:
Wie weit möchten wir in diesem Forum noch sinken?
Bis wir Dein Niveau erreicht haben.
-
Auf das Niveau kann ich mich nichtmal runter saufen ...
-
Kann es sein, dass das Label die Zahlen nicht richitg anzeigen kann??
Wäre wirklich dringend!
MFG
-
Grundkenntnisse hin - Niveau her. Zeigt mal her, wie Du den wohl richtig erzeugten String wo einsetzt. Ich kann mir schwer vorstellen, wie man da Fehler machen kann.
-
Niveau Mann schrieb:
Inf.Student schrieb:
Wie weit möchten wir in diesem Forum noch sinken?
Bis wir Dein Niveau erreicht haben.
Greif nicht nach den Sternen.
-
Okey hier!
itoa(intZahl, sBuffer,10); SetDlgItemText(hwnd,IDC_StaticText, sBuffer);
Mir ist auch nicht klar was da schief laufen kann!