Bitfeld addieren



  • Hallo,

    wie muss die Funktion: binaerzahl addieren(binaerzahl zahl1, binaerzahl zahl2);
    aussehen, damit ich zwei BinärZahlen eines solchen Bitfelds addieren kann ???

    typedef struct
    {
    unsigned b0 : 1;
    unsigned b1 : 1;
    unsigned b2 : 1;
    unsigned b3 : 1;
    unsigned b4 : 1;
    unsigned b5 : 1;
    unsigned b6 : 1;
    unsigned b7 : 1;
    unsigned b8 : 1;
    unsigned b9 : 1;
    unsigned b10 : 1;
    unsigned b11 : 1;
    unsigned b12 : 1;
    unsigned b13 : 1;
    unsigned b14 : 1;
    unsigned b15 : 1;
    } binaerzahl;
    

    [ Dieser Beitrag wurde am 12.06.2003 um 15:17 Uhr von andro editiert. ]



  • Hi,

    so:

    int main(int argc, char *argv[])
    {
      binaerzahl x,y,z;
    
      short *p_x = &x,
            *p_y = &y, 
            *p_z = &z ;
    
      *p_z = *p_y + *p_x;
    
      return 0;
    }
    

    Aber vorsicht, is echt dirty.

    grüße Con@n



  • EDIT: Sorry, dachte ich wär im C++-Forum. *patsch*

    [ Dieser Beitrag wurde am 12.06.2003 um 15:52 Uhr von MaSTaH editiert. ]



  • @MaSTaH
    du hast dich bestimmt im Forum geirrt 😉



  • Original erstellt von Honk:
    @MaSTaH
    du hast dich bestimmt im Forum geirrt 😉

    Scheiße (pardon), merk ich grad auch. Editiere es mal flott, damit keine Missverständnisse aufkommen...
    🙄 😃



  • ist ein bitfeld immer einer struktur ? wenn ich noch hilfreicdhe links habt dann her damit 🙂



  • Hi,

    wie Du das Bitfeld anlegst, ist einzig Deine Sache. Es kommt halt darauf an, was Du damit machen willst. Ich finde Aber des Bitfeld in eine Struktur zu packen, und für jedes einzelne Bit eine Variable anzulegen ist schon sehr umständlich. Du kannst ja auch einen Integer als ein Bitfeld benutzen. Dann schreibst Du Dir nur zwei funktionen (eine zum setzten und eine zum auslesen).

    grüße Con@n



  • ganz einfach wie beim schriftlichen addieren ...

    1111
    +  1111
    --------
      11110
    

    Einfach mit Übertrag ...

    1+1 = 10 //binär



  • "eins im sinn!" *hehe*. Ich denke aber, dass normale Bitmanipulationen an einem short einfacher wären als dein bitset. schreib dir doch ein paar zugriffsfunktionen die du inline machst...



  • aber ansonsten kann ich doch mein bitfeld da oben auch so addieren: binahrzahl1.b0+binearzahl2.b0=wert1 usw...also ganz normal wie strukturen sich verhalten...


Anmelden zum Antworten