Groups | Search | Server Info | Keyboard shortcuts | Login | Register


Groups > de.comp.lang.assembler > #1228

Re: nur für theoretischer Annahme ...

From Helmut Waitzmann <nn.throttle@xoxy.net>
Newsgroups de.comp.lang.assembler
Subject Re: nur für theoretischer Annahme ...
Date 2022-01-16 06:44 +0100
Organization Aioe.org NNTP Server
Message-ID <83y23gdyke.fsf@helmutwaitzmann.news.arcor.de> (permalink)
References <j4gip5Ffim2U1@mid.individual.net>

Show all headers | View raw


Jens Kallup <kallup.jens@web.de>:
>nur mal so für mein Verständnis: 
>
>
>kann ich eine beliebige Zahl bilden, die über die Bus-Breite 
>reicht ?
>
>mal angenommen ich habe 2 hex zahlen: 
>
>
>09 und 09 = 0909
>
>dann bedeutet doch, dass das letzte Element einen Wert von 
>0..255 - 00..ff  einsetzen kann
>
>  ff = 255
>0100 = 256
>0102 = 257
>...
>0100 = 1 * 255
0100 = 1 * 256
>01ff = 1 * 255 + 255
01ff = 1 * 256 + 255
>
>0200 = 2 * 255
0200 = 2 * 256
>02ff = 2 * 255 + 255
02ff = 2 * 256 + 255
>
>0300 = 3 * 255
0300 = 3 * 256
>03ff = 3 * 255 + 255
03ff = 3 * 256 + 255
>...
>
>ff00 = 255 * 255 + 0
ff00 = 255 * 256 + 0
>ff01 = 255 * 255 + 1
ff01 = 255 * 256 + 1
>...
>
>ffff = 255 * 255 + 255
ffff = 255 * 256 + 255
>...
>
>nun zum gucken:
>
>ff ff ff 00 = 255 * 255 * 255 + 0
ff ff ff 00 = 255 * 256 ^ 3 + 255 * 256 ^ 2 + 255 * 256 ^ 1 + 0

>ff ff ff 01 = 255 * 255 * 255 + 1
ff ff ff 01 = 255 * 256 ^ 3 + 255 * 256 ^ 2 + 255 * 256 ^ 1 + 1
>...
>
>wie man sehen kann, ist ein Pattern zu erkennen. 
>

Wo?

>Kann man dieses Muster irgendwie dazu verwenden, 
>um Zahlen, unabhängig von der CPU Bus-Breite 
>anwenden ?

Wo ist hier irgend etwas von einer Bus‐Breite zu sehen? 


>Also in der Art, das man 2 Bytes zusammen nimmt 
>bzw. gruppiert:
>
>ff ff = 255 * 255  <- a
ff ff = 255 * 256 + 255 <- a
>ff ff = 255 * 255  <- b
ff ff = 255 * 256 + 255 <- b


Zahlen mit den Ziffern 0, 1, 2, …, 8, 9, a, b, c, d, e und f sind 
Zahlen im 16er‐System, auch Sedezimal‐ oder Hexadezimal‐System 
genannt.  Sie funktionieren im Prinzip wie Zahlen im Zehnersystem, 
haben als Basis aber 16 statt 10.

Wenn man im 10er‐System, bei der Einerstelle beginnend, nach links 
fortfahrend, je 2 Ziffern zusammenfasst, erhält man das 
100er‐System, denn 100 = 10^2.  Ein Beispiel:

Die Zahl 4711 im 10er‐System bedeutet 


4 7 1 1 = 4*10^3+7*10^2+1*10^+1*10^0 = 4711 


Wenn man je 2 Ziffern zusammenfasst, erhält man 


47 11 = (4*10+7)*100^1+(1*10+1)*100^0 = 4711 


Entsprechend funktioniert das 16er‐System: 


3 a 9 c = 3*16^3+10*16^2+9*16^1+12 = 15004 


Fasst man je zwei Ziffern zusammen, erhält man das 256er‐System, 
denn 256 = 16^2:

3a 9c = (3*16+10)*256^1+(9*16+12)*256^0 = 15004 


Ich habe den Eindruck, dir ist bisher nicht ganz klar, wie ein 
Stellenwertsystem funktioniert.

Schau dir dazu im Wikipedia den Artikel «Stellenwertsystem» 
(<https://de.wikipedia.org/wiki/Stellenwertsystem#top>) an.  Dann 
brauche ich ihn hier nicht abzutippen.

Falls du nach der Lektüre des Wikipedia‐Artikels Fragen hast, 
zitiere die unklaren Stellen und stelle die Frage.

Wenn das dann geklärt ist, kann man die Frage nach der Bus‐Breite 
stellen.

Back to de.comp.lang.assembler | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

nur für theoretischer Annahme ... Jens Kallup <kallup.jens@web.de> - 2022-01-15 19:40 +0100
  Re: nur für theoretischer Annahme ... Helmut Waitzmann <nn.throttle@xoxy.net> - 2022-01-16 06:44 +0100
  Re: nur für theoretischer Annahme ... Stefan Reuther <stefan.news@arcor.de> - 2022-01-16 11:04 +0100

csiph-web