Avatar billede spiritusanta Nybegynder
25. februar 2006 - 20:11 Der er 7 kommentarer og
1 løsning

Omskrivning af VB funktion til CPP

Hey
Jeg har følgende funktion til VB jeg vil have skrevet om til cpp kode:

Mult = lsb + (msb * CLng(256))

især med henblik på CLng(256) udtrykket.

mvh
Jonas
Avatar billede bertelbrander Novice
25. februar 2006 - 20:16 #1
Mult = lsb + (msb * 256)

eller evt:

Mult = lsb + (msb * long(256))
Avatar billede bertelbrander Novice
25. februar 2006 - 20:41 #2
En lidt længere forklaring:

Når man laver en beregning i C og C++ er resultatet af samme type som den største type der indgår i beregningen, dog altid mindst int.

256 er af typen int, så msb*256 er af typen int hvis msb er af typen char, short eller int, og long eller double hvis msb er hhv long eller double.

dvs der behøves ikke nogen konvertering af 256 eller msb hvis resultatet kan holdes i en int, hvis ikke skal man caste msb eller 256 til en long (eller hvad der nu passer).

Jeg har en mistanke om at msb og lsb er af typen char, og man ønsker at forme en int (short) der består af disse dele. I så fald vil man ofte bruge:

Mult = lsb + (msb << 8);
Der gør det samme.
Avatar billede spiritusanta Nybegynder
25. februar 2006 - 20:47 #3
ahh oki det virker, mange tak :)
Avatar billede spiritusanta Nybegynder
25. februar 2006 - 20:48 #4
smider du et svar
Avatar billede bertelbrander Novice
25. februar 2006 - 21:55 #5
Jeg samler ikke på point.
Avatar billede spiritusanta Nybegynder
25. februar 2006 - 22:39 #6
Men du skal have dem alligevel ;)
Avatar billede spiritusanta Nybegynder
09. april 2006 - 11:09 #7
jamen så nupper jeg dem selv
Avatar billede spiritusanta Nybegynder
09. april 2006 - 11:09 #8
Men tak for hjælpen alligevel :)
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