C++ Builder Snippets  

Dezimal nach Dual konvertieren:
 
//------------------------------------------------------------------
// DecToBin konvertiert die übergebene (positive !) Dezimalzahl 
// in eine binäre Zahl (wird als AnsiString zurückgegeben)
//------------------------------------------------------------------
AnsiString DecToBin(long int ilNumber)
{
  AnsiString slBinVal = EmptyStr;
  if(!ilNumber) slBinVal="0";
  else
  {
    while(ilNumber)
    {
      if(ilNumber == 1) { slBinVal = "1" + slBinVal; ilNumber = 0; }
      else if(ilNumber%2 == 1) slBinVal = "1" + slBinVal;
      else slBinVal = "0" + slBinVal;
      ilNumber = ilNumber/2;
    }
  }
  return slBinVal;
}

//------------------------------------------------------------------
// Diese rekursive Variante der Funktion DecToBin() von René  
// Greiner (Fury73@gmx.de) unterstützt auch negative Zahlen 
// und ist ausserdem um ca. 15% schneller
//------------------------------------------------------------------
void DecToBin(long lValue, AnsiString &str)
{
  if(lValue > 0)
  {
    DecToBin(lValue>>1, str);
    str += (lValue&1) ? "1" : "0";
  }
  else if(lValue < 0)
  {
    for(int i=31; i>=0; i--)
    str += ((lValue>>i)&1) ? "1" : "0";
  }
}

  Download BCB4
Projekt-Quellcode
Download
Demo-Exe

© '99-2001 by S. Kreutzmann