code



  • [#include <cmath> 
    #include <iostream> 
    
    using namespace std; 
    
    int main(int argc, char *argv[]) 
    { 
    int bit0,bit1,bit2,bit3,bit4,bit5,bit6,bit7; 
    cout<<"bit0"; 
    cin>>bit0; 
    cout<<"bit1"; 
    cin>>bit1; 
    cout<<"bit2"; 
    cin>>bit2; 
    cout<<"bit3"; 
    cin>>bit3; 
    cout<<"bit4"; 
    cin>>bit4; 
    cout<<"bit5"; 
    cin>>bit5; 
    cout<<"bit6"; 
    cin>>bit6; 
    cout<<"bit7"; 
    cin>>bit7; 
    
    cout << ((pow(2,7)* bit7)+(pow(2,6)*bit6)+ (pow(2,5)*bit5)+ (pow(2,4) //der fehler 
    *bit4)+(pow(2,3)*bit3)+(pow(2,2)*bit2)+(pow(2,1) 
    *bit2)+(pow(2,0)bit0) )<<endl; 
    system("PAUSE"); 
    return EXIT_SUCCESS; 
    } )
    


  • es ist unten auch
    ich wollte etvas probieren
    kann jemand sagen wo der fehler sthet?



  • toni733 schrieb:

    (pow(2,1)
    *bit2)
    

    Sollte wohl eher (pow(2,1)*bit1) lauten?

    btw:
    Bitdaten baut man nicht mit pow() zusammen, das ist viel zu lahm. Für sowas verwendet man bitweise arbeitende Operatoren: << >> & | ^
    Zur Not kann man für den Code auch Bitfelder verwenden.

    Und überdenke nochmal deinen Stil, etwas leserlicher und der Fehler wäre dir sofort aufgefallen:

    cout <<
        (
            (pow(2,7)*bit7)+
            (pow(2,6)*bit6)+
            (pow(2,5)*bit5)+
            (pow(2,4)*bit4)+
            (pow(2,3)*bit3)+
            (pow(2,2)*bit2)+
            (pow(2,1)*bit2)+
            (pow(2,0)bit0)
        )
        << endl;
    

    Wie du siehst, es gibt noch einen weiteren Fehler.

    Und noch zwei Tipps für die Zukunft:
    1. Verwende aussagekräftige Threadtitel. Es soll doch tatsächlich Leute geben, die auch mal die Forensuche benutzen.
    2. Wenn du Fehler hast, dann spezifiziere diese. ZB indem du die Fehlermeldungen mit hinschreibst, die dein Compiler ausspuckt.



  • 3. Crossposts solten unbedingt vermieden werden (das hier ist schon der 3. Beitrag zum dem "code").


Anmelden zum Antworten