Avatar billede krukken Juniormester
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.
Avatar billede bertelbrander Praktikant
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 ?
Avatar billede krukken Juniormester
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.
Avatar billede olennert Nybegynder
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);
Avatar billede bertelbrander Praktikant
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;
}
Avatar billede krukken Juniormester
11. januar 2005 - 15:54 #5
ligger du et svar?
Avatar billede bertelbrander Praktikant
11. januar 2005 - 19:40 #6
Nej, jeg samler ikke på point.
Avatar billede krukken Juniormester
18. januar 2005 - 21:58 #7
Nå - så tager jeg dem selv
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester