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
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
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