matheraum.de
Raum für Mathematik
Offene Informations- und Nachhilfegemeinschaft

Für Schüler, Studenten, Lehrer, Mathematik-Interessierte.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Hochschulmathe
  Status Uni-Analysis
    Status Reelle Analysis
    Status UKomplx
    Status Uni-Kompl. Analysis
    Status Differentialgl.
    Status Maß/Integrat-Theorie
    Status Funktionalanalysis
    Status Transformationen
    Status UAnaSon
  Status Uni-Lin. Algebra
    Status Abbildungen
    Status ULinAGS
    Status Matrizen
    Status Determinanten
    Status Eigenwerte
    Status Skalarprodukte
    Status Moduln/Vektorraum
    Status Sonstiges
  Status Algebra+Zahlentheo.
    Status Algebra
    Status Zahlentheorie
  Status Diskrete Mathematik
    Status Diskrete Optimierung
    Status Graphentheorie
    Status Operations Research
    Status Relationen
  Status Fachdidaktik
  Status Finanz+Versicherung
    Status Uni-Finanzmathematik
    Status Uni-Versicherungsmat
  Status Logik+Mengenlehre
    Status Logik
    Status Mengenlehre
  Status Numerik
    Status Lin. Gleich.-systeme
    Status Nichtlineare Gleich.
    Status Interpol.+Approx.
    Status Integr.+Differenz.
    Status Eigenwertprobleme
    Status DGL
  Status Uni-Stochastik
    Status Kombinatorik
    Status math. Statistik
    Status Statistik (Anwend.)
    Status stoch. Analysis
    Status stoch. Prozesse
    Status Wahrscheinlichkeitstheorie
  Status Topologie+Geometrie
  Status Uni-Sonstiges

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
StartseiteMatheForenUni-SonstigesBinär -> Hexadezimalsystem
Foren für weitere Studienfächer findest Du auf www.vorhilfe.de z.B. Astronomie • Medizin • Elektrotechnik • Maschinenbau • Bauingenieurwesen • Jura • Psychologie • Geowissenschaften
Forum "Uni-Sonstiges" - Binär -> Hexadezimalsystem
Binär -> Hexadezimalsystem < Sonstiges < Hochschule < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Uni-Sonstiges"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Binär -> Hexadezimalsystem: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 12:35 So 01.09.2019
Autor: volk

Hallo,

ich bin gerade bei der Umwandlung einer Binärzahl (unsigned char 8 Bit) in eine Hexadezimalzahl über folgende Umwandlung nur mit Hilfe von Bit-Operationen gestolpert:

Die Zahl sei [mm] (72)_{10}=(1001000)_{2} [/mm]

Die beiden Bits der Hexadezimalzahl wurden wie folgt bestimmt:

High-Bit : 1001000 >> 4 = [mm] (100)_{2}=(4) [/mm]
Low-Bit: 1001000 & 1111 = [mm] (1000)_{2}=(8) [/mm]

Das macht [mm] (48)_{16} [/mm]

Meine Frage hierzu ist die folgende: das der Verschiebeoperator eine ganzzahlige Division darstellt, ist mir bewusst. Das der Und-Operator zur Modulo-Berechnung benutzt werden kann, allerdings nicht. Auch ist mir nicht bewusst, wieso [mm] (1111)_{2}=(15)_{10} [/mm] statt [mm] (10000)_{2}=(16)_{10} [/mm] benutzt wird.

Viele Grüße
volk

        
Bezug
Binär -> Hexadezimalsystem: Antwort
Status: (Antwort) fertig Status 
Datum: 12:57 So 01.09.2019
Autor: chrisno

mit dem und-Operator werden die führenden Bits beseitigt und die letzten Bits erhalten.
Ich schreibe mal die Operation als & 00001111.
Jede Null im der Zeichenkette sorgt dafür, dass das Zeichen ignoriert wird, jede Eins dafür, dass das vorhandene Zeichen auch erhalten bleibt.
Bestimme das Ergebnis von
1001000
& 10000
Da kommt nichts brauchbares heraus. Hingegen
  1001000
& 0001111
= 0001000


Bezug
                
Bezug
Binär -> Hexadezimalsystem: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 13:43 So 01.09.2019
Autor: volk

Hallo chrisno,
vielen Dank für deine schnelle Antwort.
Dieses Verfahren funktioniert dann aber nur, so wie ich das sehe, wenn der Divisor eine Zweierpotenz ist, oder? Wie geht man in allen anderen Fällen vor?

Bezug
                        
Bezug
Binär -> Hexadezimalsystem: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 17:28 So 01.09.2019
Autor: chrisno

Davon habe ich keine Ahnung.
Letzlich kann man immer den normalen Algorithmus, wie bei der schriftlichen Division durchführen.

Bezug
                        
Bezug
Binär -> Hexadezimalsystem: Antwort
Status: (Antwort) fertig Status 
Datum: 19:26 So 01.09.2019
Autor: HJKweseleit

Es geht dir ja darum, eine Binär- in eine Hexadezimal-Zahl umzuwandeln.

Nehmen wir zunächst ein anderes Beispiel: Du möchtest die Zahl [mm] N=(347)_{10}, [/mm] die, aber - sagen wir mal - im 3-er-System codiert ist, in seine Dezimalziffern (auch im Dreiersystem codiert) zerlegen. Dann könntest du das so programmieren:

Einerziffer a ermitteln durch a = N mod 10 = 7.
Nun ziehst du von N das a ab: [mm] N'=(340)_{10} [/mm]
Dann dividierst du N' durch 10: N''= [mm] (34)_{10} [/mm]

Zehnerziffer b=4 ermitteln, indem du nun mit N'' dasselbe machst wir oben mit N usw.

Dabei spielt es keine Rolle, ob die Zahl im 3-er-, 2-er-, 10-er- oder 16-er-System codiert ist. Du erhältst immer die so codierten Ziffern für das 10-er-System.

Der Unterschied zur Kombination Binär-Hexadezimal-System besteht aber nun in Folgendem:

Zunächst mal hat das Hexadezimalsystem nicht die 10 Ziffern 0 bis 9, sondern 0 bis 15, wobei man für 10-15 weitere Zeichen braucht und die Buchstaben A-F benutzt.
Nach [mm] F=(15)_{10} [/mm] kommt dann [mm] (10)_{16}=(16)_{10}. [/mm]

Die Ziffern [mm] (0)_{16} [/mm] bis [mm] (F)_{16} [/mm] sehen aber im Binärsystem so aus: [mm] (0000)_{2} [/mm] bis [mm] (1111)_{2}. [/mm] Danach kommt im Hexadezimalsystem die [mm] (10)_{16} [/mm] = [mm] (10000)_{2} [/mm] im Binärsystem.
Somit entspricht die letzte Ziffer im Hexadezimalsystem genau dem Wert der letzten 4 Ziffern im Binärsystem!!!
Wie in obigem Rechenbeispiel gezeigt, ziehst du die nun von der bisherigen Zahl im Binärsystem ab, so dass die letzten 4 Ziffern alles Nullen werden. Dann Dividierst du durch 16, und das entspricht im Binärsystem genau dem Rechtsshiften um 4 Stellen. (Da im Computer beim Rechtsshiften die letzten Stellen einfach wegfallen, kannst du auf das Abziehen und Dividieren verzichten, und genau das macht die Sache so effektiv!)

Fazit: Weil [mm] 2^4=16 [/mm] ist, entsprechen die vierer-Zahlenblöcke im Binärsystem - von hinten eingeteilt - genau den Ziffern im Hexadezimalsystem.

Würdest du Ziffern im 32-er-System bilden wollen, müsstest du die Binärzahl von hinten nur immer in 5-er-Blöcke zerlegen. Zahlen des 3-er-Systems, immer von hinten in Dreierblöcke zerlegt, würden die ziffern des 27-er-Systems ergeben usw.

Wolltest du aber Binärzahlen im 7-er-System darstellen, könntest du die Ziffern nicht mehr durch Blockbildung bekommen!

Bezug
                                
Bezug
Binär -> Hexadezimalsystem: 256-Ziffern Darstellung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 18:53 Sa 14.09.2019
Autor: vlado77

Bei Digitalspeicherung, wo die Reihen von 8 Bits in die Bytes gruppiert werden, kann die ganze Zahl auch durch eine Reihe der Zeichen einer 256-Element-Menge dargestellt werden, deren Elemente die Ziffern der Werte 0 bis 255 repräsentieren und schriftlich durch alphanumerische, Interpunktions-, Kontroll-, Geldzeichen, nichtenglische Buchstaben oder andere Zeichen unterschieden werden.
Dabei schreibt man z. B. die 65-Wert-Ziffer mit das große A, das kleine a steht für die 97-Wert-Ziffer, die B stehen für die 66- und 98-Wert-Ziffern, das Zeichen @ für die 64-Wert-Ziffer, die geschriebene Ziffern 0 bis 9 für die Werte 48 bis 57, das große französische Ç für 128, das kleine deutsche ü für 129 usw.



Beispiele:

a) CD = C ⋅ 256 + D = 67 ⋅ 256 + 68 = 17220

b) A0Ça =
   A ⋅ 256⋅256⋅256 + 0 ⋅ 256⋅256 + Ç ⋅ 256 + a =
   65 ⋅ 256⋅256⋅256 + 48 ⋅ 256⋅256 + 128 ⋅ 256 + 97 =
   1093697633

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Uni-Sonstiges"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.unimatheforum.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]