aufgabe mit bitoperatoren...



  • Hallo

    Ich will ja wirklich nicht nerven, aber Code-Tags würden deine Text leserlicher machen. Daran solltest vor allem du Interesse haben.

    chrische



  • ich weiss nicht wo ist
    wenn ich daran nicht interesier wäre dann hätte ich nicht 3 stunden mit diese beschäftigt
    wenn du helfen kannst hilfst du mir

    mfg
    toni



  • Hallo

    Klick doch einfach mal im Post von Caipi auf den Link für Code-Tags.

    chrische



  • hab schon vorher gelesen und gibt nicht



  • Hallo

    Wenn du Quellcode hast, dann markierst du diesen und klickst unter dem Textfeld auf den Buttom C/C++. Dann schaust du dir die Vorschau, ob alles geklappt hat und das war's.

    chrische



  • #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; 
    }
    

    jetz so woltest du denn

    mfg toni



  • Dein Thread heisst "aufgabe mit bitoperatoren...". Kommt es dir nicht komisch vor, dass du _keine_ Bitoperatoren verwendest? 😉

    Schau dir mal Bitoperatoren an, dann wirst du sehen, dass du nicht x Variablen brauchst, sondern nur eine (auch kein Array). Und die Umwandlung ist dann quasi schon gegessen.



  • ich habe shon probiert mit~|& ..etc und geht nicht
    kanst du nur anfangen
    😕



  • Hallo toni!

    Dein Code war schon nah drann, nur wenn du eine Fehlermeldung hast, musst du sie uns auch schicken. Ich hab das Programm jetzt mal compiliert und es kam folgende Fehlermeldung:

    31 C:\Dev-Cpp\main7.cpp call of overloaded `pow(int, int)' is ambiguous 
     note C:\Dev-Cpp\include\math.h:150 candidates are: double pow(double, double)
    

    Daraus könnte man doch eigentlich selber drauf kommen, dass die Funktion pow double Werte erwartet. Ich hab die Funktion jetzt mal durch eine ersetzt, welche die int werte nach double castet (umwandelt).

    #include <cmath>
    #include <iostream>
    
    using namespace std;
    
    int pow(int a, int b)
    {
        return static_cast<int>(pow(static_cast<double>(a), static_cast<double>(b)));
    }
    
    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) * bit4) +
        (pow(2,3) * bit3) +
        (pow(2,2) * bit2) +
        (pow(2,1) * bit2) +
        (pow(2,0) * bit0)) << endl;
        system("PAUSE");
        return EXIT_SUCCESS;
    }
    

    Dies ist bestimmt nicht die eleganteste Möglichkeit, aber sie funktioniert soweit.

    Du solltest in Zukunft auf deine Rechtschreibung achten, z.B. muss man erst raten, was du mit

    hab schon vorher gelesen und gibt nicht

    meinst. Denn "gibt nicht" enthält kein Subjekt und selbst "gibt's nicht" würde auch nicht sehr schlüssig sein.

    mfg.



  • kann jemand eine feine beispiel shreiben?
    ich habe den ganzen tag mit diese aufgabe 😕 😕
    😡 😕



  • 😕 ne keine ahnung



  • toni73 schrieb:

    kann jemand eine feine beispiel shreiben?
    ich habe den ganzen tag mit diese aufgabe 😕 😕
    😡 😕

    Mein Beispiel funktioniert doch?

    mfg.



  • Mein Beispiel funktioniert doch?]
    

    ja schon aber es gibt keine Bitoperatoren

    und ist nicht gewertet
    😕



  • bits |= input << i;
    

    Die Schleife drumherum ist nun wirklich deine Aufgabe. Sonst verstehst du das nie. Ausserdem gibt es in wahrscheinlich den meisten Tutorials schöne Beispiele dazu...



  • Lies dir bitte mal in Zukunft durch was du Antwortest:

    toni73 schrieb:

    ja schon aber es gibt keine Bitoperatoren

    Es gibt definitiv Bitoperatoren, aber wahrscheinlich meinst du, dass ich es ohne Bitoperatoren gelöst habe, oder?

    und ist nicht gewertet
    😕

    Meine Fresse!?!?!? Da ist kein Subjekt! Wahrscheinlich meinst du mein Beispiel, und dann frage ich: Meinst du wirlich gewertet? Bei was wurde es nicht gewertet? Oder meinst bewertet? Von wem wurde es nicht bewertet???

    mfg.



  • kanst du mir sagen wo ich diese beispiele sehn kann
    irgend eine internet seite bitte

    mfg toni



  • bewertet meine ich ,von mein profesor



  • toni73 schrieb:

    kanst du mir sagen wo ich diese beispiele sehn kann
    irgend eine internet seite bitte

    http://www.pronix.de/pronix-676.html



  • http://www.pronix.de/pronix-676.html
    

    danke aber es ist für c und nich für c++
    ich kenne die andere operatoren die dort stehn nicht
    😕

    mfg
    toni



  • Du kannst C Sachen auch in C++ benutzen. Das ganze sähe dann ungefähr so aus:

    #include <iostream>
    
    using namespace std;
    
    int main(int argc, char *argv[])
    {
        int Bit;
        unsigned char Zahl = 0;
        cout << "bit0";
        cin >> Bit;
        Zahl |= Bit << 0;
        cout << "bit1";
        cin >> Bit;
        Zahl |= Bit << 1;
        cout << "bit2";
        cin >> Bit;
        Zahl |= Bit << 2;
        cout << "bit3";
        cin >> Bit;
        Zahl |= Bit << 3;
        cout << "bit4";
        cin >> Bit;
        Zahl |= Bit << 4;
        cout << "bit5";
        cin >> Bit;
        Zahl |= Bit << 5;
        cout << "bit6";
        cin >> Bit;
        Zahl |= Bit << 6;
        cout << "bit7";
        cin >> Bit;
        Zahl |= Bit << 7;
        cout << Zahl << endl;
        system("PAUSE");
        return EXIT_SUCCESS;
    }
    

    mfg.


Anmelden zum Antworten