Avatar billede iostream Nybegynder
20. november 2005 - 15:47 Der er 8 kommentarer og
1 løsning

Fra decimal til binær tal ?

Hej eksperter.

Jeg har forsøgt en masse gange at lave et program er koverterer et decimal tal til et binært tal i C, ud fra dette:

fx 30 = 11110

30/2 = 15 rest 0
15/2 = 7 rest 1
7/2 = 3 rest 1
3/2 = 1 rest 1
1/2 = 0 rest 1

men jeg kan ikke få det til at virke ?
nogen der lige hurtigt kunne fixe noget sammen ?
Avatar billede arne_v Ekspert
20. november 2005 - 15:58 #1
skal det være i C eller kan du bruge C++ ?
Avatar billede iostream Nybegynder
20. november 2005 - 16:00 #2
helst C, da det er det jeg er igang med !
Avatar billede arne_v Ekspert
20. november 2005 - 16:07 #3
#include <stdio.h>

void binbin(int v, char *res)
{
  int i,l,tmp;
  l = 0;
  tmp = v;
  while(tmp>0)
  {
      res[l] = '0' + tmp%2;
      tmp = tmp / 2;
      l++;
  }
  for(i=0;i<l/2;i++)
  {
      tmp = res[i];
      res[i] = res[l-i-1];
      res[l-i-1] = tmp;
  }
  res[l] = '\0';
}

int main()
{
  char buf[10];
  binbin(255,buf);
  printf("%s\n",buf);
  binbin(3,buf);
  printf("%s\n",buf);
  binbin(30,buf);
  printf("%s\n",buf);
  return 0;
}

måske
Avatar billede arne_v Ekspert
20. november 2005 - 16:08 #4
de kan gøres smartere hvis du ved hvor mange cifre du vil have (evt. leading zeroes)
Avatar billede iostream Nybegynder
20. november 2005 - 16:15 #5
2 sek jeg tester lige...læg et svar imens !
Avatar billede iostream Nybegynder
20. november 2005 - 16:16 #6
ok kunne du lave det sådan at man skal indtaste et tal og den konverterer det ?
Avatar billede arne_v Ekspert
20. november 2005 - 17:09 #7
printf("Indtast tal: ");
scanf("%d",v);

eller sådan lignende
Avatar billede arne_v Ekspert
21. november 2005 - 00:58 #8
svar
Avatar billede iostream Nybegynder
21. november 2005 - 11:02 #9
tak !
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