hey, was es genau mit hexadezimalen zahlen zu tun hat weis ich ehrlich gesagt nicht. außer, dass mein Taschenrechner eine hex funktion hat, falls das das Gleiche ist...
MfG
Michael
hey, was es genau mit hexadezimalen zahlen zu tun hat weis ich ehrlich gesagt nicht. außer, dass mein Taschenrechner eine hex funktion hat, falls das das Gleiche ist...
MfG
Michael
Meine eigene cnc-Fräse:
mihuno.oyla3.de
Es gibt verschiedene Zahlensysteme. Die wichtigsten zähle ich hier auf:
Name des Systems => Gesamtanzahl der Zahlen => mögliche Zahlen
Binärsystem => 2 => 0, 1
Oktalsystem => 8 => 0 - 7
Dezimalsystem => 9 => 0-9
Hexadezimal (hex) => 16 => 0-9 und A-F
Das Binärsystem wird bei Bitoperationen verwendet (einzelne Ports setzten bzw rücksetzen,...)
Das Oktalsystem wird nicht so oft verwendet. Die Ports sind z.B. in Oktalsystem aufgebaut.
Das Dezimalsystem wird nicht nur in der Elektronik verwendet.
Das Hex-Format wird eigentlich immer in der Elektronik verwendet. Dieses System wird zum Auslesen vom ADC verwendet, zum setzten von PWM Kanälen, Komunikation bei Bussystemen,... verwendet.
MfG Hannes
Geändert von 021aet04 (30.08.2011 um 20:45 Uhr)
Achso, das heißt, wenn man es genau nimmt steuere ich eine led mit einem schalter dann binär an --> ein und aus
Wie kann man das hex-system dann verstehen?
MfG
Michael
Meine eigene cnc-Fräse:
mihuno.oyla3.de
Hier einige Beispiele wie man die Systeme an.
Das Binärsystem wendet man z.B. so an: PORTB |= (1<<PB1); //Bitoperation ist "(1<<PB1)"
Das Dezimalsystem kann man ganz einfach so anwenden: PORTB |= 100; //100 wird dann im Dezimalangegeben, wenn dichts davor steht ist eine Zahl immer Dezimal
Im Hexadezimalsystem wird man das so schreiben: PORTB |= 0x64; //Die Zahl 100 im Hex-Format, es steht bei einem Hex-Format immer "0x" davor, damit erkennt der Compiler das es eine Ziffer im Hex-Format vorliegt
Du könntest den Windowsrechner verwenden. Diesen kannst du umstellen zu "Programmierer" (Ansicht => Programmierer). Dort hast du die verschiedenen Zahlensysteme zur Auswahl und kannst sie untereinander umrechnen lassen.
MfG Hannes
Im Endeffekt sind es einfach alles nur unterschiedliche Repräsentationen der gleichen Zahl. 42 im Dezialsystem ist binär 101010. Im Speicher deines Rechners (oder deines AVRs) liegt die Zahl genau so, weil der Speicher eben nur 0 und 1 kennt. Auch die Arithmetik findet komplett auf Basis dieser Zustände statt.
So ausgeschrieben sind die Zahlen für Menschen aber unhandlich, deshalb fasst man vier Binärzahlen zu einer Hexadezimalzahl zusammen, 42 entspricht dabei 2A. Nun kommt es relativ oft vor, dass du (zum Beispiel bei Bitmanipulationen) etwas mit einzelnen Bits machen willst, du wirst mit zunehmendem Lernfortschritt dann eher zur hexadezimalen Schreibweise tendieren (weil sie einfach kürzer ist).
Ach ja: Um unterscheiden zu können, auf bezüglich welcher Basis die Zahl dargestellt wird, schreibt man in der Programmiersprache C bei Binärzahlen ein 0b und bei Hexadezimalzahlen ein 0x davor (Genau genommen ist das 0b eine GCC-Erweiterung). Im normalen Sprachgebrauch wird oft auch ein "d" "h" oder "b" angehängt, also: 42d = 2Ah (Die Kleinschreibung macht den Unterschied!) = 101010b
Äh ja, und zur Basis: Im Dezimalsystem ist die Basis 10, jede Stelle ist also 10 Mal so stark gewichtet wie ihr Vorgänger (42 = 4*10 + 2*1). Im Binärsystem verdoppelt sich der Wert jeder Stelle (42 = 1*32 + 0*16 + 1*8 + 0*4 + 1*2 + 0*1), im Hexadezimalsystem wird mit vielfachen von 16 multipliziert (42 = 2*16 + 10*1)
mfG
Markus
Zur Umrechnung von Zahlensystemen habe ich hier etwas gefunden. Der Vorteil dieser Seite ist das es eine Erklärung dazu gibt das man es nachrechnen kann. Wenn man ersteinmal weiß wie man die einzelnen Zahlensysteme umrechnet ist es relativ leicht.
MfG Hannes
Hey
okay, eigendlich ist das ganze ja logisch... Habe mithilfe einer kleinen nachhilfe angefangen zu lernen, allerdings verstehe ich zu 80% nur bahnhof, ich hoffe, das ändert sich noch.
MfG
Michael
Meine eigene cnc-Fräse:
mihuno.oyla3.de
Wer nicht fragt bleibt dumm!
mfG
Markus
An alle die online sind, brauche dringend ne Antwort auf diese Frage! Danke! https://www.roboternetz.de/community...279#post537279
Lesezeichen