hat jemand eine idee...?



  • ich habe diese aufgabe und hab diese code geschrieben:
    #include <cstdlib>
    #include <iostream>

    using namespace std;

    int main(int argc, char *argv[])
    {
    /Schreiben Sie ein Programm, welches prüft, ob in einer
    einzulesenden Zahl n des Typs unsigned int das an der
    einzulesenden Position p (ebenfalls vom Typ unsigned int)
    befindliche Bit gesetzt ist. Wenn ja, wird true ausgegeben,
    andernfalls false. Zu Beginn gibt das Programm den für p
    zulässigen Wertebereich aus.
    /
    unsigned int n ,p;
    cout << " n:" ;
    cin >>n;
    cout << "p:";
    cin >> p;
    cout << (n >> p ) << endl;

    system("PAUSE");
    return EXIT_SUCCESS;
    }

    wäre sehr dankbar für jede antwort.

    mfg toni



  • ((n >> p) & 1)



  • hast du die aufgabe gelesen?

    ich habe noch mal geschrieben und klapt wieder nicht

    #include <cstdlib>
    #include <iostream>

    using namespace std;

    int main(int argc, char *argv[])
    {
    /Schreiben Sie ein Programm, welches prüft, ob in einer
    einzulesenden Zahl n des Typs unsigned int das an der
    einzulesenden Position p (ebenfalls vom Typ unsigned int)
    befindliche Bit gesetzt ist. Wenn ja, wird true ausgegeben,
    andernfalls false. Zu Beginn gibt das Programm den für p
    zulässigen Wertebereich aus.
    /
    unsigned int n ,p;
    cout << " n:" ;
    cin >>n;
    cout << "p:";
    cin >> p;
    cout <<boolalpha
    << n << " n:" << p <<((n >> p )& 1 ) << endl;

    system("PAUSE");
    return EXIT_SUCCESS;
    }



  • das << ist mehrdeutig.

    das ((n >> p) & 1) sagt dir, ob an bit p der zahl n ein bit gesetzt ist.

    und ja, ich habe die aufgabe gelesen.



  • compielirst du bitte den code und dann wirds du mich recht geben
    e geht nicht so ammindesten glaube ich.

    mfg toni



  • ich hab doch gesagt, dass das << mehrdeutig ist. hast du das ueberhaupt wahrgenommen?

    so gehts:

    cout << "n: ";
    	cin >> n;
    	cout << "p: ";
    	cin >> p;
    	cout << boolalpha;
    	cout << "n: " << n << endl;
    	cout << "p: " << p << endl;
    	cout << "gesetzt? " << ((n >> p) & 1) << endl;
    

    wenn programmierer reden, dann sagen sie auch was.



  • aber die zeigr immer den wert 0
    und das ist nicht inordnung mein freund...

    mfg toni



  • das stoert dich? omg ich fass es nicht...

    cout << "gesetzt? " << !!((n >> p) & 1) << endl;
    

Anmelden zum Antworten