PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Primzahlen in Hex-Darstellung ?!?!



DerDoc
23.10.02, 10:18
Während einer Diskussion um IPv6 kamen wir auf folgende Frage:

Wenn Adresen hexadezimal dargestellt werden, was passiert bei Primzahlen im Bereich 0 bis 255 ?

Angenommen ich habe eine IP-Adresse die dezimal "7.5.13.11.23.3" hieße, wie sähe eine Hex-Darstellung davon aus oder werden solche Kombinationen weggelassen??

Anonymous
23.10.02, 11:24
Hallo

...ich verstehe dein Problem nicht ganz - 7 ist hexa 7 und 13 ist hexa D...

Die IPV6 Adressen bestehen aus 8 Blöcken mit je 16 Byte Länge und diese werden durch Doppelpunkt voneinander getrennt. Führende Nullen können weggelassen werden.

Dein Adresse wäre z.B.

0:0:7:5:D:B:17:3 oder ::7:5:D:B:17:3

wobei der :D mit einem Doppelpunkt-D zu ersetzen ist...

Was hat das aber mit den Primzahlen zu tun?

DerDoc
25.10.02, 06:19
Oh man da hab ich mich aber auch dämlich ausgedrückt, ich seh's ein ;)

Das gleiche trifft auch zu wenn man z.B. eine Hex-Farbkodierung angibt wie FFF8DC (z.B. in HTML). Dabei gehören z.B. die ersten beiden FF zu Rot und werden multipliziert, F * F = FF == dezimal 16 * 16 = 256. Oder hab ich das falsch verstanden?

Wenn aber eine Grundfarbe immer als ein Produkt von 2 Zahlen im Bereich von 0-15 (0-F) dargestellt wird, max. also 256 Möglichkeiten, wie ist dann die Hex-Kodierung des Rot-Anteils der dezimal ausgedrückt eine Primzahl wäre? Oder laufen die möglichen Ergebnisse nicht linear von 0 bis 255 durch ??

Jasper
25.10.02, 07:57
Original geschrieben von DerDoc
Oh man da hab ich mich aber auch dämlich ausgedrückt, ich seh's ein ;)

Das gleiche trifft auch zu wenn man z.B. eine Hex-Farbkodierung angibt wie FFF8DC (z.B. in HTML). Dabei gehören z.B. die ersten beiden FF zu Rot und werden multipliziert, F * F = FF == dezimal 16 * 16 = 256. Oder hab ich das falsch verstanden?

Wenn aber eine Grundfarbe immer als ein Produkt von 2 Zahlen im Bereich von 0-15 (0-F) dargestellt wird, max. also 256 Möglichkeiten, wie ist dann die Hex-Kodierung des Rot-Anteils der dezimal ausgedrückt eine Primzahl wäre? Oder laufen die möglichen Ergebnisse nicht linear von 0 bis 255 durch ??

ich blicks immer noch nicht. nehmen wir mal 251 (ist glaub ich eine).
dann würde der rot-anteil FB sein. ist nicht ganz rot (FB0000), aber nahe dran.

ah, jetzt seh ich deinen fehler: F*F = FF ist falsch. zum einen ist F == 15 nicht 16. dann errechnen sich hexzahlen so:

MSB (höherwertiges byte) shl 8 + LSB (niederwertiges byte). shl 8 ist das selbe wie mul 16.

also in deinem fall F (15) * 16 + F (15) = 240 + 15 = 255.

wie du siehst hat das nichts mit primzahlenzerlegung zu tun.

-j

Jinto
25.10.02, 20:07
Ich glaube, ich erkenne deinen "Denkfehler". Deienr Ansicht nach ist eine Hex-Zahl das Produkt zweier Zahlen. Das stimmt aber nicht. Hex-Zahlen sind zahlen in eines normalen Zahlensystems. Das einzige, das sich ändert ist die "Basis" (nämlich 16 statt wie gewohnt 10).

Beispiel:
1=1 2=2 3=3 ... 9=9 10=a 11=b 12=c 13=d 14=e 15=f 16=10 ... 255=ff 256=100 etc.
Die Multiplikation wird nur zur Umrechnung von Hex nach dezimal benötigt

So nun zurück zu deinem Farbbeispiel:
Farben mit 24Bit Farbtiefen setzen sich zu jeweils gleichen Teilenaus den drei Grundfarben zusammen (RGB). dabei steht jeder Farbe ein Byte zur Verfügung (rrggbb). Damit man die Zahlen der jeweiligen Farbe zuordnen kann müssen Werte < 0x10 mit einer Führenden null gekennzeichnet werden. also z.b. Rot 7 = 07 / Blau 0=00 Grün 10=0a => 07000a => Dezimal: 16^5*0+16^4*7+16^3*0+16^2*0+16^1*0+16^0*10 = musst du selber ausrechnen.

HTH

DerDoc
28.10.02, 05:59
Danke Euch beiden, hab's endlich gecheckt :)