Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
15.10.2002, 14:22
Sprengmeister



Hallo,
Ich habe mich immer dafür interessiert was es mit dem Sedezimal alias Hexerdezimal auf sich hat. Da ich das Prob jetzt gelöst habe möchte ich das auch anderen zugänglich machen. Dezimal, Sedezimal und Dual:

Dezimal Dual Sedezimal
0 0 0
1 1 1
2 10 2
3 11 3
4 100 4
5 101 5
6 110 6
7 111 7
8 1000 8
9 1001 9
10 1010 A
11 1011 B
12 1100 C
13 1101 D
14 1110 E
15 1111 F

Dual system: Eine eins ist eine belegte Stelle eine 0 ist unbelegt.
64 32 16 8 4 2 1 (Stellen)
1 0 1 1 0 0 1
= 64 + 16 + 8 +1
=89

Hexerdezimal:
Sie haben 16 Normale zahlen, im dezimalsystem sind es 10
0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
Dezimal Hexerdezimal
20 =14
26 =1A
31 =1F
63 =3F
126 =7E
255 =FF

Ich hoffe diese kleine EInführung hat euch geholfen, ich werde es vieleicht später erweitern.

--

_______________________
-----I_______________________I-----
This is Nudelholz. Copy Nudelholz in your Signature to make better Kuchens and other Teigprodukte.


Dieser Beitrag wurde am 15.10.2002 um 14:24 von Sprengmeister bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
001
15.10.2002, 14:29
ScyTheMan
Moderator


Zitat:
Sprengmeister postete
Hallo,
Ich habe mich immer dafür interessiert was es mit dem Sedezimal alias Hexerdezimal

heist es nicht hexadezimalsystem?!

--

http://choerbaert.org
Ein Gespenst geht um im Netz - das Gespenst des Open Source
csndr

zum Seitenanfang zum Seitenende Profil || Suche
002
15.10.2002, 14:35
Onkel Dittmeyer



Richtig, von lat. Hexa = 6 und Decem = 10, also das 16ersystem.
Hat man doch wenn ich mich net irre benutzt um besser mit Words die ja 16 Bit lang sind zu rechnen beim Programmieren.
Fehlt nur noch das Octalsystem bei dem nach der 7 "umgebrochen" wird:

0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 10
9 11
10 12
11 13
12 14
...
16 20
...
24 30

--


Dieser Beitrag wurde am 15.10.2002 um 14:40 von [dP]ThEpOpE bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
003
15.10.2002, 16:12
Kriz



Naja, dann mach doch gleich mal ne kleine Einführung in die Rechenweise:

Binärsystem:

123 soll als Binärzahl dargestellt werden. Dazu teilt man einfach die Zahl durch 2 und merkt sich das größtmöglichste Ergebnis und den Rest. Danach teilt man das Ergebnis wieder durch 2 und merkt sich dessen größtmöglichstes Ergebnis und dessen Rest usw. bis das größtmöglichste Ergebnis der letzten Berechnung 0 ergibt:

123 : 2 = 61 -> Rest 1
61 : 2 = 30 -> Rest 1
30 : 2 = 15 -> Rest 0
15 : 2 = 7 -> Rest 1
7 : 2 = 3 -> Rest 1
3 : 2 = 1 -> Rest 1
1 : 2 = 0 -> Rest 1

Dann fängt man von unten an und reiht alle Restwerte auf, bis man oben angekommen ist: 1111011

Damit hat man die Binärzahl von 123.

Oktal geht das auch, man nimmt hier als Teiler aber 8:

123 : 8 = 15 -> Rest 3
15 : 8 = 1 -> Rest 7
1 : 8 = 0 -> Rest 1

Wieder von unten nach oben aufreihen: 173

Bei Hexadezimal nimmt man als Teiler 16 und achtet darauf, daß alle Zahlenergebnisse von 10 bis 15 als Buchstaben abgebildet werden:

A = 10, B = 11, C = 12, D = 13, E = 14, F = 15

123 : 16 = 7 -> Rest 11 bzw. B
7 : 16 = 0 -> Rest 7

Aufreihung: 7B

123(d) = 1111011(b) = 173(o) = 7B(h)

Es gibt derweilen noch schicke Rechenverfahren, wie man schnell Binär, Oktal und Hexadezimal untereinander ins andere Zahlensystem umrechnet...

PS: DIe oben beschriebenen Rechenweisen sind MODULO-Rechnungen!

--

K:R-I)Z++
"CSS ist cascading style sheets. Und nicht so'n Ranzspiel." - dp
In memory of Voice († 2005/03/30)


Dieser Beitrag wurde am 15.10.2002 um 16:13 von Kriz bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
004
15.10.2002, 22:23
Mazze



Zitat:

lat. Hexa = 6 und Decem = 10

Das ist nicht ganz richtig.
hexa ist griechisch und dezimal lateinisch. Also ist es eine Mischform, die es so eigentlich nicht gibt, die sich aber durchgesetzt hat. Richtig wäre es so:
hexadekadisch (gr)
sedezimal (lat)

BTW:
"hexadekadisch oder sedezimal. Ja, an »Automobil« scheint sich auch
niemand mehr zu stören, und keiner verlangt statt dessen »Autokinet«
(gibt es immerhin im Griechischen) oder »Ipsomobil« (im Lateinischen
hingegen sind die Neologismen »autocinetum«, »autovehiculum« und
»automataria raeda« bzw. »autoraeda« gängig). Wahrig verzeichnet
»Hexadezimalsystem«."

cu
Matze

--

BattleTech-MOD:
http://bthl.unitedgaming.net/

zum Seitenanfang zum Seitenende Profil || Suche
005
16.10.2002, 10:20
Kriz



Teil 2 von "Kriz's merkwürdige Abhandlungen im Reich der Zahlen" (hehehe):

Wie man von binären, oktalen und hexadezimalen Zahlen ins Dezimalsystem zurückkommt. Als Beispiel wieder die oben aus meinem ersten Post erzeugten Zahlen, die zurück nach 123 konvertiert werden sollen:

Binär nach Dezimal (1111011 -> 123):

Dazu fängt man von RECHTS nach LINKS an jede Binärstelle zu nehmen und sich deren Position zu merken. Dabei gilt: Ganz rechts ist die Position 1 bis ganz links zur Position n:

1 1 1 1 0 1 1 = Binärstelle
7 6 5 4 3 2 1 = Position

Das Binärsystem arbeitet mit 2^(Position-1). Dieses Ergebnis multipliziert man dann mit der dazugehörigen Zahl der Binärstelle. Alle Ergebnisse werden addiert:

1*2^(7-1) + 1*2^(6-1) + 1*2^(5-1) + 1*2^(4-1) + 0*2^(3-1) + 1*2^(2-1) + 1*2^(1-1) =

1*2^6 + 1*2^5 + 1*2^4 + 1*2^3 + 0*2^2 + 1*2^1 + 1*2^0 =

1*64 + 2^5 + 2^4 + 2^3 + 0 + 2^1 + 2^0 =

64 + 32 + 16 + 8 + 0 + 2 + 1 = 123

...

Oktal nach Dezimal (173 -> 123):

Genau dasselbe Prinzip nur mit 8^(Position-1):

1*8^(3-1) + 7*8^(2-1) + 3*8^(1-1) =

1*8^2 + 7*8^1 + 3*8^0 =

1*64 + 7*8 + 3*1 =

64 + 56 + 3 = 123

...

Hexadezimal nach Dezimal (7B -> 123):

Jetzt mit Basis 16 (und die Zahlenumwandlung von Buchstaben nach Dezimalwerten nicht vergessen):

7*16^(2-1) + B*16^(1-1) =

7*16^(2-1) + 11*16^(1-1) =

7*16^1 + 11*16^0 =

7*16 + 11*1 =

112 + 11 = 123

...

Nun noch die schnellen Umrechungsweisen für Binär, Oktal und Hexadezimal untereinander:

Binär nach Oktal:

Die Binärzahl 1111011 wird nun von RECHTS nach LINKS in 3er Teile aufgesplittet:

1|111|011

Dann rechnet man einfach die binären Teilbereiche nach Dezimal aus:

1|7|3

Ergebnis oktal: 173

...

Binär nach Hexadezimal:

Hier werden stattdessen 4er Teile gebildet:

111|1011

Wieder dezimalisieren (löl):

7|11 (dran denken, daß 11 = B ist)

7|B

Ergebnis hexadezimal: 7B

Die anderen Umrechungen sind umständlich, weil sie alle erst über das Dezimalsystem oder Binärsystem erfolgen (z.B. Oktal -> Hexadezimal):

173(o) -> 123(d) -> 7B(h)
bzw.
173(o) -> 1111011(b) -> 7B(h)

--

K:R-I)Z++
"CSS ist cascading style sheets. Und nicht so'n Ranzspiel." - dp
In memory of Voice († 2005/03/30)


Dieser Beitrag wurde am 16.10.2002 um 10:22 von Kriz bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
006
16.10.2002, 11:35
WareWolf



Ich hab noch was interessantes hinzuzufügen, nämlich den GRAY-Code.
Dieser GrayCode ist ein binärer Code und hat keine festgelegte Zahlenbasis. Er wird in der Industrie z.B. bei Incremantalgebern (Messung des Drehwinkels einer Achse) verwendet, er wird deshalb dort eingesetzt, weil er einfach sicherer ist. Sicherer deshalb, weil sich immer nur genau 1 Bit zur nächst liegenden Zahl ändert:
Quellcode:
Dezimal   GRAY
0                 0
1                 1
2                11
3                10
4               110
5               111
6               101
7               100
8              1100
9              1101
10             1111
11             1110
12             1010
13             1011
14             1001
15             1000
16            11000
17            11001
usw...

nun hatte ich mal die Aufgabe, einen Gray-Code über digitale Ausgänge einer Steuerung zu liefern, als Sollwert verfügte ich über einen "normalen" Dezimalwert der von einem Eingabeterminal kam. Ich sag es gleich, ich habe einen halben Tag zur Realisierung gebraucht *g*

Ach, eigentlich ist dies doch eine schöne Fleißaufgabe für Amateur-oder Profiprogrammierer hier (...)

/Edit: die Lösung ist verblüffend einfach

--

Sig as a brick ┴┬┴┬┴┬┴┬┴┬┴┬┴
WW


Dieser Beitrag wurde am 16.10.2002 um 11:41 von WareWolf bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
007
16.10.2002, 11:48
KhanRKerensky



Das System ist vergleichsweise einfach. Müsste man nurnoch in einen Code einfummeln :D

k.
Binn feddich:
http://www.ppp-webdesign.de/gray.php?zahl=2
Statt 2 kann man jede beliebige Zahl einsetzten.
Die Datei hat gerademal 15 Zeilen Code. :D

bzw:
http://www.ppp-webdesign.de/graytable.php?zahl=2
Dann rechnet der alle Zahlen von 0 bis zahl.

--

"[...] you're going to burn in a very special level of Hell. A level they reserve for child molesters and people who talk at the theater." - Book


Dieser Beitrag wurde am 16.10.2002 um 12:33 von KhanRKerensky bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
008
16.10.2002, 13:27
CN



wie wärs wenn du ne sourcedatei dazu packst oder n show_source() einbaust? ;)

--

zum Seitenanfang zum Seitenende Profil || Suche
009
16.10.2002, 13:30
KhanRKerensky



Ich wollt nicht direkt allen den Spass am Testen verderben :D

Nagut. Wer einfach nur glotzen will:
http://www.ppp-webdesign.de/gray.txt

Bestimmt kann man das eine oder ander noch kleiner gestalten, aber es klappt.

--

"[...] you're going to burn in a very special level of Hell. A level they reserve for child molesters and people who talk at the theater." - Book


Dieser Beitrag wurde am 16.10.2002 um 13:32 von KhanRKerensky bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
010
16.10.2002, 15:15
Kriz



Btw. wird der Gray-Code bei Computern für die Steuerung/Abfrage der Tastatur verwendet.

--

K:R-I)Z++
"CSS ist cascading style sheets. Und nicht so'n Ranzspiel." - dp
In memory of Voice († 2005/03/30)

zum Seitenanfang zum Seitenende Profil || Suche
011
16.10.2002, 15:34
WareWolf



@Khan, das war ja schnell. Respekt. Haste das jetzt selbst rausgepfriemelt oder irgendwo abgeguckt? =)
ich habs damals Stundenlang mit Papier und Bleistift rekonstruiert und schliesslich folgenden Zusammenhang erkannt:

Gray = Bin XOR Bin/2 (Bin="normaler" Binärcode)

schwieriger ist die Rückkonstruktion, du hast einen GrayCode und willst ihn dezimal umrechnen. Hab ich spasshalber damals auch gemacht...

--

Sig as a brick ┴┬┴┬┴┬┴┬┴┬┴┬┴
WW


Dieser Beitrag wurde am 16.10.2002 um 15:35 von WareWolf bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
012
16.10.2002, 16:18
KhanRKerensky



Das habbich mir einfach nur angeschaut. Der Graycode is eigentlich ganz einfach aufgebaut:
Bei der ersten Stelle(also ganz rechts) ist das immer eine Abfolge: Von 2 mal 0 und 2 mal 1. Bei der 2ten Stelle sind das immer 4 mal 0 und 4 mal 1. Bei der dritten 8 mal 0 und 8 mal eins. Die erste Sequenz Nullen wird Halbiert.

Dann habbich mir ein bissel den Stift und Papier genommen und versucht eine bestimmte Stelle zu errechnen. Und dann kam eben das Ergebniss da oben hinaus. Und dadurch das ich halt die Stellen einzeln bestimmen konnte, habbich einfach jede Stelle einzeln bestimmt und einfach nur aneinandergeheftet. Nicht grad schnell aber geht :D

--

"[...] you're going to burn in a very special level of Hell. A level they reserve for child molesters and people who talk at the theater." - Book


Dieser Beitrag wurde am 16.10.2002 um 16:21 von KhanRKerensky bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
013
16.10.2002, 20:06
Rusef



@ware
dann gibbet noch den ASCII -Code:

Buchstabe ASCII* - Kodierung (8te Bit (Prüfbit) = /o )

A = /o1000001
B = /o1000010
C = /o1000011

a = /o1100001
b = /o1100010
c =/o1100011

*American Standard Code for Information Interchange

/edit
*keineallzugroßeahnunghab*

--

If someone is too greedy, they will lose what they orginally had.

Thewall.de Frappr


Dieser Beitrag wurde am 16.10.2002 um 20:08 von Rusef bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
014
16.10.2002, 21:34
KhanRKerensky



ASCII ist eigentlich kein Zahlensystem, sondern nur nen Standart Code, damit der Computer weiß was das eine Byte jetzt nun für nen Zeichen seinen soll.

--

"[...] you're going to burn in a very special level of Hell. A level they reserve for child molesters and people who talk at the theater." - Book

zum Seitenanfang zum Seitenende Profil || Suche
015
17.10.2002, 20:27
WareWolf



Der Vollständigkeit halber nun die Lösung der GrayCode Wandlung in Step7:
Quellcode:
L    MW      100   //Adresse des Dezimalwertes nach Akku 1 laden
L    MW      100   //und auch in Akku 2
SRW            1    //Akku 1 rechtsshiften (entspricht division/2)
XOW                 //Exclusiv_Oder beider Akkus (Ergebnis: Graycode)
T    PAW      32   //direkter Transfer zur Ausgabebaugruppe

ganze 5 Befehle, ohne Schleife, ohne Rücksprung. Anders wäre es auch schlecht zu realisieren gewesen, denn Schleifen innerhalb eines Bausteines sind bei Maschinensteuerungen tödlich, weil sich die Gesamtzykluszeit dadurch erhöht und währenddessen keine IO Abfragen bzw. Ausgaben möglich sind.

--

Sig as a brick ┴┬┴┬┴┬┴┬┴┬┴┬┴
WW


Dieser Beitrag wurde am 17.10.2002 um 20:29 von WareWolf bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche