Avatar billede megel Nybegynder
06. maj 2001 - 17:43 Der er 2 kommentarer og
1 løsning

udtrækning af binær værdi af en char

Hej Alle
Jeg vil høre om der er nogen der ved hvordan man kan udtrækken en binær værdi af et ASCII tegn. Skal bruges i et C++ Builder prog. Så fx. m giver \"1101101\". Findes der nogle funktioner til dette?? 
Avatar billede joha Nybegynder
06. maj 2001 - 20:09 #1
Jeg kender ikke til nogle indbyggede metoder, men hvorfor ikke skrive det selv:

void print_char_in_binary(int nChar)
{
  int nMask = 0x80;

  while (nMask)
  {
    printf(\"%i\", (nChar & nMask ? 1 : 0));
    nMask >>= 1;
  }
}

~joha~
   
Avatar billede borrisholt Novice
07. maj 2001 - 11:42 #2
megel>>

Den her funktion burde virke.

AnsiString  IntegerToBinString(int BinValue)
{
  AnsiString result = \"\";
  for (int i = 31; i>=0; --i)   
    result += ((BinValue& (1 << i)) != 0) ? \"1\" : \"0\";
  return Result; 
}

Jeg har oprindeligt skrevet den i Pascal, og har til lejligheden protet den til C++. Jeg har ingen C++ Builder her så jeg har ikke testet den.

Her er den orginale Pascal funktion, som virker og ER tested :

AnsiString  IntegerToBinString(int BinValue)
{
  AnsiString result = \"\";
  for (int i = 31; i>=0; --i)   
    result += ((BinValue& (1 << i)) != 0) ? \"1\" : \"0\";
  return Result; 
}

Jens B. http://fotx.net/borrisholt
Avatar billede megel Nybegynder
07. maj 2001 - 12:15 #3
Tak da...  borrisholt

Det virker. :-)

/Megel
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