16. november 2004 - 00:56
Der er
6 kommentarer og 1 løsning
unsigned char til int
Hvordan konvertere man en usigned char til en int? Og hvordan konvertere man en unsigned char til en double? Pointene deles lige imellem svarene.
Annonceindlæg tema
Forsvar & beredskab
Cybersikkerhed, realtidsdata og robuste it-systemer er blevet fundamentet for moderne forsvar.
16. november 2004 - 01:15
#1
unsigned char usc = 12; int i = usc; double d = usc; Men det er måske ikke det du spørger om ?
16. november 2004 - 10:03
#2
Øhh, det tror jeg ikke - det virker i hvert fald ikke. Jeg har et array med unsigned chars - det er en af disse plader der skal konverteres til en integer.
16. november 2004 - 14:09
#3
Har du prøvet bertels forslag? Det virker fint med gcc under Solaris. Du kan også lave explicitte casts. I C: unsigned char usc = 12; int i = (int) usc; double d = (double) usc; I C++: unsigned char usc = 12; int i = static_cast<int>(usc); double d = static_cast<double>(usc);
16. november 2004 - 19:55
#4
Måske en af følgende: #include <iostream> #include <stdlib.h> int ToInt(unsigned char *p) { return *(unsigned int *)p; } int main() { unsigned char Ar1[4] = {1,2,3,4}; int x = ToInt(Ar1); std::cout << x << " " << std::hex << x << std::dec << std::endl; unsigned char *Ar2 = (unsigned char *)"12345678"; x = strtol((char *)Ar2, 0, 10); std::cout << x << " " << std::hex << x << std::dec << std::endl; }
11. januar 2005 - 15:54
#5
ligger du et svar?
11. januar 2005 - 19:40
#6
Nej, jeg samler ikke på point.
18. januar 2005 - 21:58
#7
Nå - så tager jeg dem selv
Kurser inden for grundlæggende programmering