binär zu dezimal -



  • Aloa zusammen,

    ich glaub ich bin einfach nur zu dumm...
    also im groben klappt das nur wenn ich mir das nun ausgeben lassen macht der mir bei der letzten ausgabe des arrays also o1[7] noch komische zahlen hinten dran
    woran liegt das??
    an meiner programmierung??
    naja sorry für die dumme frage aber ich müsste mir schon sicher sein ob das klappt oder nicht...
    bzw. bietet der builder nicht schon eine fertige funktion für int nach dezimal umrechen?

    naja fragen über fragen.... 😕 😕
    freue mich schon auf antworten (nur bitte nich zu kompliziert. ihr seht ja meine fertigkeiten im programmieren 👎 )

    if(ok1>=128)
         {
         o1[7]=1;
         ok1=ok1-128;
         }
       else
         o1[7]=0;
       if(ok1>=64)
        {
         o1[6]=1;
         ok1=ok1-64;
        }
         else
         o1[6]=0;
       if(ok1>=32)
       {
         o1[5]=1;
         ok1=ok1-32;
         Label4->Caption="checked";
       }
        else
         o1[5]=0;
       if(ok1>=16)
       {
         o1[4]=1;
         ok1=ok1-16;
       }
        else
         o1[4]=0;
       if(ok1>=8)
       {
         o1[3]=1;
         ok1=ok1-8;
       }
        else
         o1[3]=0;
       if(ok1>=4)
       {
         o1[2]=1;
         ok1=ok1-4;
       }
        else
         o1[2]=0;
       if(ok1>=2)
       {
         o1[1]=1;
         ok1=ok1-2;
       }
        else
         o1[1]=0;
       if(ok1>=1)
       {
         o1[0]=1;
         Label3->Caption=ok1;
       }
        else
         o1[0]=0;
    
         Memo1->Lines->Clear();
         for(int z=0;z<8;z++)
         {
         Memo1->Lines->Add(o1[z]);
         }
    


  • hello again!

    hier nen update zum code...
    aber den fehler habe ich immer noch nicht gefunden
    umrechenen ist kein problem nur das erste arrayfeld bzw das letzte 🙄 scheint nicht zu funktionieren...
    habet dank

    int start=128;
    
       for(int x=7;x>=0; x--)
       {
       if(ok1>=start)
         {
         o1[x]=1;
         ok1=ok1-start;
         start=start/2;
         }
       else
         {
         o1[x]=0;
         start=start/2;
         }
       }
    


  • String eingabe="1001101";
    int zahl=strtol(eingabe.c_str(),NULL,2);


Anmelden zum Antworten