Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Bitweise Operatoren / Hexadezimal

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
07.11.2006, 16:05 Uhr
Dennis



Hallo allerseits,
ich benötige für C / C++ zwei kleine Hilfen.

1. Wieso wird aus k = ~ 0; die Zahl -1
oder aus k = ~ 5; die Zahl -6

Ich kann das zwar ausrechnen, aber ich verstehe nicht, wieso diese Zahlen zustande kommen, sprich warum ~5 zu -6 wird.


2. Ich suche ein Tutorial wo möglichst gut der Umgang mit Hexadezimalangaben gezeigt wird. Wie z.B. ein k = j & 0x03; möglichst einfach zu berechnen ist.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
07.11.2006, 16:27 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


das ist einfach das komplement. Wenn ich mir das in Bit angucke heisst das mach aus allen 0 einsen und wenn ich diese zahl im Zweierkomplement interpretiere kommt halt -1 raus...


Zitat:

2. Ich suche ein Tutorial wo möglichst gut der Umgang mit Hexadezimalangaben gezeigt wird. Wie z.B. ein k = j & 0x03; möglichst einfach zu berechnen ist.


Schreib dir das einfach auf ein kariertes Blatt mit Bits auf und dann verstehst du auch was da passiert.

einfach die beiden operanden untereinander schreiben und dann jedes übereinanderstehende Bitpaar miteinander verwurchsteln (wie bei ne addition die man in der Grundschule gemacht hat)

& ist halt eine verundung (wenn beide Bits 1 sind dann 1 sonst 0)
^i st xor ( wenn genau ein bit 1 ist dann 1 sonst 0)
| ist oder( wenn mindestens 1 bit 1 ist dann 1 sonst 0)
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
07.11.2006, 16:44 Uhr
Dennis



Das mit Nr.2 hat funktioniert, thx.

Das zu 1 schnall ich noch nicht ganz. Bitte mal für z.B. die Zahl 20 das mal Vorrechnen.
( k = ~20 ), damit ich da Schritt für Schritt dahintersteig.

Dieser Post wurde am 07.11.2006 um 16:44 Uhr von Dennis editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
07.11.2006, 18:47 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


0000 wird als Null interpretiert

1111 als minus Eins weil das erste bit negativ interpretiert wird (-8+4+2+1=-1)
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
07.11.2006, 20:39 Uhr
Dennis



Works, thx.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: