-         

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 20

Thema: 'C" und bits

  1. #1
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    08.08.2004
    Ort
    Zwolle
    Alter
    61
    Beiträge
    531

    'C" und bits

    Anzeige

    Hallo,

    vielleicht eine dumme Frage,

    aber kan mann in GNU GCC auch bitweis ein Variabele fullen?
    Ich find daruber nix im GNU Dokumentation.

    z.B.
    unsigned char x;

    x='10011110';

    ???

    Gruss

    Henk

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    13.11.2004
    Ort
    München
    Alter
    30
    Beiträge
    447
    Hi,
    Code:
    //bits
    unsigned char x=0b10011110;
    //hexa
    unsigned char x=0xAB; // ist aber  nicht 10011110
    MfG Alex

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    08.08.2004
    Ort
    Zwolle
    Alter
    61
    Beiträge
    531
    @Alex

    unsigned char x=0b10011110;

    gibt bei mir compiler fehler,

    invalid suffix "b10011110" on integer constant


    Gruss

    Henk

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    16.07.2005
    Ort
    Neubeckum
    Alter
    37
    Beiträge
    110
    Genau,

    bei deiner Variante

    x=10011110

    würde er es als Dezimalzahl

    und bei

    x="10011110"

    als String übernehmen !
    - Phantasie ist wichtiger als Wissen - - www.uni-soest.de -

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    16.07.2005
    Ort
    Neubeckum
    Alter
    37
    Beiträge
    110
    Du kannst es natürlich nicht als char-Datentyp initialisieren, sondern als integer (int) Wert!

    also

    unsigned int x=0b10011110;
    - Phantasie ist wichtiger als Wissen - - www.uni-soest.de -

  6. #6
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    17.01.2005
    Ort
    Obertraun
    Alter
    29
    Beiträge
    194
    Das hat nichts mit dem Typ der Variable zu Tun, also ob die Variable vom Typ "unsigned char" ist oder vom Typ "unsigned int".
    "unsigned char" ist kein String sondern nur ein einziges Zeichen bzw. einfach ein Datenbyte, jenachdem wie man den Wert halt interpretiert.

    Ich glaube das mit dem 0b10101010 funktioniert nicht bei jedem Compiler, also ich schreibe es immer mit "0x" (also im Hex Format), ein bisschen Kopfrechnen schadet außerdem keinen .

    mfg

  7. #7
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    13.11.2004
    Ort
    München
    Alter
    30
    Beiträge
    447
    unsigned char x=0b10011110;

    gibt bei mir compiler fehler,

    invalid suffix "b10011110" on integer constant


    Gruss

    Henk
    Hi,
    Also bei Gnu GCC bin ich mir nicht sicher, aber bei AvrGCC ist das möglich.

    MfG Alex

  8. #8
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    16.07.2005
    Ort
    Neubeckum
    Alter
    37
    Beiträge
    110
    Wie gesagt falscher Datentyp!
    - Phantasie ist wichtiger als Wissen - - www.uni-soest.de -

  9. #9
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.05.2005
    Ort
    Issum
    Alter
    45
    Beiträge
    2.236
    Wie gesagt falscher Datentyp!
    Kannst Du diese Aussage begründen ?

    Gruß Sebastian
    Software is like s e x: its better when its free.
    Linus Torvald

  10. #10
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    16.07.2005
    Ort
    Neubeckum
    Alter
    37
    Beiträge
    110
    Nee Sorry,

    hab falsch gedacht. Ich weise dann ja bei char halt nur das jeweilige ASCII-Zeichen zu, oder?

    Also für 0b00110001 z.B. die 1

    Richtig, oder denke ich gerade völlig falsch...
    - Phantasie ist wichtiger als Wissen - - www.uni-soest.de -

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •