Avatar billede lubker Nybegynder
03. februar 2008 - 20:55 Der er 6 kommentarer og
1 løsning

Hex - binær opdelt i variabler

Hej
Jeg har en hexværdi i intervallet 00-FF, som jeg skal have konverteret til en binær "streng" opdelt i 8 vaiabler.

ex inputtet '9F' giver 8 vaiabler:
b7: 1
b6: 0
b5: 0
b4: 1
b3: 1
b2: 1
b1: 1
b0: 1

Nogen der kan hjælpe?
Avatar billede arne_v Ekspert
03. februar 2008 - 21:34 #1
prøv noget a la:

for(i=0;i<8;i++)
{
  b[i] = input & 1;
  input >>= 1;
}
Avatar billede lubker Nybegynder
04. februar 2008 - 10:15 #2
Det vil jo virke hvis hexværdien er angivet som en streng, men det er bare en almindelig talværdi...
Så der er som sådan ingen forskel på om det er i dec eller hex.
Avatar billede lubker Nybegynder
04. februar 2008 - 12:33 #3
He he. Nogle gange skal man bare holde sig til den simple løsning:
    if(a >= 128){
        d7 = 1;
        a=a-128;
    }

    if(a >= 64){
        d6 = 1;
        a=a-64;
    }

    if(a >= 32){
        d5= 1;
        a=a-32;
    }

    if(a >= 16){
        d4 = 1;
        a=a-16;
    }

    if(a >= 8){
        d3 = 1;
        a=a-8;
    }

    if(a >= 4){
        d2= 1;
        a=a-4;
    }

    if(a >= 2){
        d1 = 1;
        a=a-2;
    }

    if(a >= 1){
        d0 = 1;
    }

Vil du have point må du lægge et svar.

Daniel
Avatar billede gammelhat Nybegynder
04. februar 2008 - 12:42 #4
jeg synes nu ikke arnes eksempel tager en streng som input. Han har

b[0] = d7
...
b[7] = d0

Dit eget eksempel kan optimeres ved at bruge en bitvis and til sammenligning

if(a & 128){
  d7 = 1;
}

if(a & 64){
  d6 = 1;
}

etc
Avatar billede lubker Nybegynder
04. februar 2008 - 12:49 #5
Det er faktisk rigtigt.
min fejl.

Men i fortjener da i hvert fald begge point, så I er velkomne til at lægge et svar.
Tak for hjælp og fortsat god dag.
Avatar billede arne_v Ekspert
04. februar 2008 - 13:56 #6
svar
Avatar billede gammelhat Nybegynder
05. februar 2008 - 12:00 #7
jeg tror arne har fortjent alle 30 p. Jeg tror også jeg vrøvlede en lille smule :)
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