int to char



  • Hallo Leute,
    ich möchte in einem char

    char charWert[5]; 
     long long  longWert = 0xababab1 ;
    

    einlesen.
    Und zwar möchte ich das die 1 in charWert [5] in nullten Bit steht
    Also muss charWert[5] = 128 sein.
    Kann mir vielleicht jemand helfe?



  • Dann musst du die Bits in den einzelnen Bytes eben umdrehen.
    Du willst übrigens, dass sich die 1 im letzten, also höchstwertigsten Bit befindet.



  • borhan schrieb:

    Hallo Leute,
    ich möchte in einem char

    char charWert[5]; 
     long long  longWert = 0xababab1 ;
    

    einlesen.
    Und zwar möchte ich das die 1 in charWert [5] in nullten Bit steht
    Also muss charWert[5] = 128 sein.
    Kann mir vielleicht jemand helfe?

    Die Bits werden üblicherweise anders nummeriert:

    76543210
    x-------  -->  128
    
    76543210
    -------x  -->    1
    

    Bist Du Dir sicher, dass 0xababab1 die Zahl ist, die Du meinst? Ist es vielleicht 0xababab80 ?

    a     b    a     b    a     b    1
    0x0ababab1  =  0000 1010  1011 1010  1011 1010  1011 0001
    
                     a    b     a    b     a    b     8    0
    0xababab80  =  1010 1011  1010 1011  1010 1011  1000 0000
    

    Gruß,
    SP



  • Hallo Sebastian,
    erst Mal danke für dein Antwort.
    die Zahl ist 0xabababab1. Aber Du hast recht, die nacher in charWert [4] muss ist natürlich 0xabababab80 weil ich möchte dass die ersten 32 Bit in charWert [0] bis charWert[3] stehen muss und das 33 Bit also die 1 sollte in char Wert [4] = 10000000. daher ist das was du meinst richtig. Aber wie kann ich das am einfachsten realisieren.



  • borhan schrieb:

    die Zahl ist 0xabababab1.

    Du kannst nicht einfach eine 1 in der Hex-Darstellung einer 32bit-Zahl dranhängen und glauben, es käme eine 33bit Zahl raus!

    0xABABABAB * 16 + 1 = 0xABABABAB1 (36 bits)  
     0xABABABAB *  2 + 1 = 0x157575757 (33 bits)
    

    Gruß,
    SP



  • Danke, stimmt das ist mein Fehler gewesen habe es schon verbessert. Funktioniert jetzt auch schon fehlerfrei.


Anmelden zum Antworten