tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
3
ZUGRIFFE
609
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    can can ist offline Mitglied Bronze
    Registriert seit
    Nov 2003
    Ort
    Frankfurt/M
    Beiträge
    37
    Hallo leute


    Ich möchte die einzer (1) im (bTabelle1) schrittweise verschieben.



    So das die einzer (1) am anfang des Arry wieder erscheinen

    bool bTabelle1 [12] = {0,0,0,0,0,1,0,0,0,1,0,1};
    bool bNoteName2 [12] = {0,0,0,0,0,0,0,0,0,0,0,0};

    bTabelle1 um 1 verschoben
    bool bNoteName2 [12] = {1,0,0,0,0,0,1,0,0,0,1,0};

    bTabelle1 um 3 verschoben

    bool bNoteName2 [12] = {1,0,1,0,0,0,0,0,1,0,0,0};

    wie mache ich so was am besten?

    Grüße Can
     

  2. #2
    chibisuke chibisuke ist offline Mitglied Brillant
    Registriert seit
    Sep 2003
    Beiträge
    807
    Und wer benutzt für arrays?

    1.) is ein bool array speicherverschwendung. und zwar im faktor 1:8
    2.) läst sich da mit einer Flag Variable besser arbeiten...

    int fData = 0; //32 bits leer räumen
    fData |= 1<<5; // das 6. bit setzen. (true)
    fData |= 1<<8; //das 9. bit setzen. (true)
    fData &= ~(1<<5); //das 6. bit löschen (false)

    if(fData &= (1<<8)) //prüfen ob das 9.bit gesetzt ist.

    Und jetzt kannst du auch die gewünschten operationen durchführen
    int fData2 = 0, fData2 = 0;
    fData2 = fData << 3; //alle bits im 3 stellen nach links verschieben
    fData3 = fData >> 5; //alle bits um 5 stellen nach rechts verschieben

    Mehr zu den bedeutungen von <<, >>, &, |, ~, ^ findest zu unter dem begiff Binäroperatoren.
    << = shilft left
    >> = shirft right
    & = and
    | = or
    ^ = xor
    ~ = not
     

  3. #3
    can can ist offline Mitglied Bronze
    Registriert seit
    Nov 2003
    Ort
    Frankfurt/M
    Beiträge
    37
    Danke fürs Antworten! chibisuke



    Ich möchte ein Akkord-Erkennung programmiren.

    ich habe mir gedacht ich deffiniere erst Alle Akkord Typen in C-note.

    const bool C_Dim [size]= {1,0,0,1,0,1,0,0,0,0,0,0};
    const bool C_Sus2 [size]= {1,1,0,0,0,0,1,0,0,0,0,0};
    const bool C_Moll [size]= {1,0,1,0,0,0,1,0,0,0,0,0};
    const bool C_Dur [size]= {1,0,0,1,0,0,1,0,0,0,0,0};
    const bool C_Sus4 [size]= {1,0,0,0,1,0,1,0,0,0,0,0}; usw.

    wenn ich jetz 3 Tasten Am Kayboard Tastatur Drücke werden die
    Nullen in der Tabel[size] eine eins (1).

    So Jetz möchte ich prüfen ob die grade gedrückten 3 Tasten in irgend
    einer GrundTon art existieren. oder nicht existieren und mir den Namen des GrundTons und den AkkodNamem anzeigen


    Bin kein programmirer.

    ich weiss auch nicht ob das der richtige weg ist ich habe mir gedacht so müsste es funktioniren.

    Kannst du mir da ein rat geben?
     

  4. #4
    chibisuke chibisuke ist offline Mitglied Brillant
    Registriert seit
    Sep 2003
    Beiträge
    807
    Nun, wie ich schon gesagt hab, benutz flags anstatt boolsche arrays.

    bis 8 werte kannst du in unsigned char speichern, 16 in unsigned short, 32 in unsigned int bzw. unsigned long und für 64 werte gibt __int64 ebenfalls unsigned.

    Wenn du darüber hinaus gehen willst, musst du es aufteilen...

    Am besten guckst du ob du n tutorials zur benutzung von FLAGS und zu Binär Operatoren findest.
     

Ähnliche Themen

  1. Technische Frage zu PHP
    Von qsrs im Forum PHP
    Antworten: 14
    Letzter Beitrag: 25.01.06, 12:09
  2. Antworten: 8
    Letzter Beitrag: 03.11.05, 11:37
  3. Technische Frage zu: FTP via PHP
    Von Lukasz im Forum PHP
    Antworten: 6
    Letzter Beitrag: 14.04.05, 18:45
  4. technische Frage
    Von Reinforcement im Forum 3D Studio Max
    Antworten: 5
    Letzter Beitrag: 19.11.04, 18:39
  5. technische frage zu fonts
    Von DeathKnight im Forum Typografie
    Antworten: 2
    Letzter Beitrag: 21.04.04, 16:26