|
| Binære og hexadecimale tal i VB? Fra : Mikkel Selsøe Sørens~ |
Dato : 30-10-03 14:42 |
|
Jeg er ved at lave et program til Pocket PC og har brug for at vide om man
kan fortælle VB at en variabel godt nok har typen integer, men at den
samtidig er skrevet som binær eller hexadecimal streng og derved udnytte at
kunne regne på den binært eller hexadecimalt? Det ville være rart hvis jeg
kunne spare at skulle ud i en masse konvertering selv.
--
Mvh
Mikkel Selsøe Sørensen
| |
Tomas Christiansen (01-11-2003)
| Kommentar Fra : Tomas Christiansen |
Dato : 01-11-03 00:37 |
|
Mikkel Selsøe Sørensen skrev:
> ...kan fortælle VB at en variabel godt nok har typen integer, men at den
> samtidig er skrevet som binær eller hexadecimal streng
Hvad mener du med "skrevet som"? Mener du at din integer skal _udskrives_ i
binært eller hexadecimalt format?
En Integer eller Long i VB er skam pakket ned i et binært felt - ingen
BCD-aritmetik her!
> og derved udnytte at kunne regne på den binært eller hexadecimalt?
Igen: Hvad mener du med at regne binært?
Hvis du giver VB opgaven at udregne 2+3, omregnes 2 og 3 straks til tal i
binært format (Integer), hvorefter disse lægges sammen. Men resultatet af
regnestykket bliver det samme om man regner 2+3 (angivet 10-tals systenet)
ud i 2-, 10- eller 16-tals systemet.
> Det ville være rart hvis jeg kunne spare at skulle ud i en masse
konvertering selv.
Hvad er det præcis du ønsker - måske vi her kan hjælpe dig lidt på vej.
Eksempelvis findes en funktion Hex, som tager et tal (Integer eller Long) og
konverterer værdien til en streng som repræsenterer værdien skrevet på
hexadecimal form.
-------
Tomas
| |
Mikkel Selsøe Sørens~ (01-11-2003)
| Kommentar Fra : Mikkel Selsøe Sørens~ |
Dato : 01-11-03 09:24 |
|
"Tomas Christiansen" <toc-01-nospam@blikroer.dk> wrote in message
news:bnurle$h3q$1@news.cybercity.dk...
> Mikkel Selsøe Sørensen skrev:
> > ...kan fortælle VB at en variabel godt nok har typen integer, men at den
> > samtidig er skrevet som binær eller hexadecimal streng
>
> Hvad mener du med "skrevet som"? Mener du at din integer skal _udskrives_
i
> binært eller hexadecimalt format?
> En Integer eller Long i VB er skam pakket ned i et binært felt - ingen
> BCD-aritmetik her!
>
> > og derved udnytte at kunne regne på den binært eller hexadecimalt?
>
> Igen: Hvad mener du med at regne binært?
> Hvis du giver VB opgaven at udregne 2+3, omregnes 2 og 3 straks til tal i
> binært format (Integer), hvorefter disse lægges sammen. Men resultatet af
> regnestykket bliver det samme om man regner 2+3 (angivet 10-tals systenet)
> ud i 2-, 10- eller 16-tals systemet.
>
> > Det ville være rart hvis jeg kunne spare at skulle ud i en masse
> konvertering selv.
>
> Hvad er det præcis du ønsker - måske vi her kan hjælpe dig lidt på vej.
> Eksempelvis findes en funktion Hex, som tager et tal (Integer eller Long)
og
> konverterer værdien til en streng som repræsenterer værdien skrevet på
> hexadecimal form.
Det jeg mener er, at jeg har en integer-variabel som naturligivs er
repræsenteret i 10-talssystemet. Nu vil jeg gerne konvertere den til at
blive repræsenteret i 2-talssystemet eller 16-talssystemet. Dvs når skriver
den ud, får jeg en streng af 1/0'er eller [0-9][a-f]. derudover vil jeg
naturligvis gerne kunne bruge regnefunktionerne på variablen.
Kan man i øvrigt komme med en streng af 0/1-taller og type caste den til en
binær værdi (forudsat at ovenstående kan lade sig gøre)?
--
Mvh
Mikkel Selsøe Sørensen
| |
Tomas Christiansen (01-11-2003)
| Kommentar Fra : Tomas Christiansen |
Dato : 01-11-03 10:50 |
|
Mikkel Selsøe Sørensen skrev:
> Det jeg mener er, at jeg har en integer-variabel som naturligivs er
> repræsenteret i 10-talssystemet.
> Nu vil jeg gerne konvertere den til at blive repræsenteret i
> 2-talssystemet eller 16-talssystemet. Dvs når skriver
> den ud, får jeg en streng af 1/0'er eller [0-9][a-f].
> derudover vil jeg naturligvis gerne kunne bruge
> regnefunktionerne på variablen.
Det er let nok at udskrive hexadecimalt, brug funktionen Hex.
Det er også let at komme med en hex-streng og konvertere til heltal, brug
f.eks. CLng("&H" & s), hvor s indeholder strengen med de hexadecimale cifre.
Desværre findes ikke en tilsvarende funktion til at vise den binære
repræsentation eller at konvertere den anden vej.
> Kan man i øvrigt komme med en streng af 0/1-taller og type caste den til
en
> binær værdi (forudsat at ovenstående kan lade sig gøre)?
Der findes ikke type-cast i VB6, men en masse konverteringsfunktioner - bare
ikke lige alle dem, som du har brug for.
Man er med andre ord nødt til selv kode en hel del selv. Hvis du er
interesseret, kan jeg sikkert godt finde nogle eksempler frem fra mine
gemmer.
-------
Tomas
| |
|
|