Wie konvertiert einen double in einen unsigned char?

Ich bin auf der Suche um zu ändern, einen Vektor von Double-in unsigned chars mit c++.
Um sicherzustellen, dass es funktioniert, ich schrieb:

unsigned char x = 0;
double y = 4.6;
x = (unsigned char) y;
printf("%d", y);
cout << endl << "the char of 4.6 is: " << x;
getchar();

aber anstatt den char gleich 4 oder 5 bekomme ich eine riesige Zahl wie 1717986918
oder ein Diamant-symbol mit cout.

Ich nehme an, dies ist, weil seine Interpretation 4.6 als "4.6", aber gibt es eine Möglichkeit, es zu speichern, so dass es nur zu einem unsigned char der Nähe von gleichem Wert?

Warum sind Sie versuchen zu tun, wie eine unsichere Konvertierung? Was versuchen Sie zu tun?

InformationsquelleAutor | 2013-09-06

Schreibe einen Kommentar